ホームページ > バックエンド開発 > PHPチュートリアル > PHP定数の詳しい説明:defineとconstの違い

PHP定数の詳しい説明:defineとconstの違い

零到壹度
リリース: 2023-03-23 14:06:01
オリジナル
1537 人が閲覧しました

この記事では、PHP 定数の詳細な説明を共有します。定義と const の違いは、特定の参照値を持っています。必要な方は参照してください。

定数は単純な識別子です。この値は、スクリプトの実行中に変更できません (定数ではない、いわゆるマジック定数を除く)。定数はデフォルトで大文字と小文字が区別されます。通常、定数識別子は常に大文字です。

define() 関数を使用して定数を定義できます。 php5.3.0 以降では、const キーワードを使用してクラス定義の外で定数を定義できます。以前のバージョンでは、const キーワードはクラス内でのみ使用できました。定数を一度定義すると、変更したり未定義にしたりすることはできません。

定数にはスカラー データ (ブール、整数、浮動小数点、文字列) のみを含めることができます。リソース定数を定義できますが、予期しない結果を引き起こす可能性があるため、避けてください。

変数とは異なり、定数の前に $ 記号を付ける必要はありません。定数名が動的である場合は、関数 constant() を使用して定数の値を取得することもできます。 get_define_contstants() を使用して、定義されているすべての定数のリストを取得します。

定数と変数の違いは次のとおりです:

1. 定数の前にドル記号 ($) はありません

2. 定数は、define を通じてのみ定義できます。 () 関数ではなく、代入ステートメントを使用します。 5.

定数値はスカラーのみです

<?php
//
 以下代码在 PHP 5.3.0 后可以正常工作
const USERNAME = &#39;zhouguowei&#39;;
echo USERNAME;
echo constant
("USERNAME");
 
const ZHOUUSERNAME = &#39;zhouguowei2222222222&#39;;
 
define (&#39;MYUSERNAME&#39;,&#39;zhouguowei1111111&#39;);
echo "<pre class="brush:php;toolbar:false">";
print_r( get_defined_constants());  
?>
ログイン後にコピー

Q: phpで定数を定義する場合、constとdefineの違いは何ですか?

答え: const を使用すると、コードがシンプルになり読みやすくなります。const 自体は言語構造であり、define は関数です。さらに、const はコンパイル時に定義するよりもはるかに高速です。

1. const は、一度定義すると変更できません。 Define はクラス メンバー変数の定義には使用できませんが、グローバル定数には使用できます。

2、Constはクラスで使用できますが、定義はできません

3、Constは条件文で定数を定義できません

<?php
if(...){
const FOO = &#39;BAR&#39;;    //无效的invalid
}
if(...) {
define (&#39;FOO&#39;, &#39;BAR&#39;); //有效的valid
}
?>
ログイン後にコピー

4、constは通常の定数名を使用し、式を定義できます名前として使用できます

<?php
const FOO = &#39;BAR&#39;;
for($i= 0; $i< 32; ++$i) {
define(&#39;BIT_&#39; . $i, 1 << $i);
}
?>
ログイン後にコピー

5. const は静的スカラーのみを受け入れることができますが、define は任意の式を使用できます

<?php
constBIT_5 = 1 << 5;    //无效的invalid
define(&#39;BIT_5&#39;, 1 << 5); //有效的valid
?>
ログイン後にコピー

6. const で定義された定数は大文字と小文字を区別しますが、define は 3 番目のパラメータ ( true は大文字と小文字を区別しないことを示します) 大文字と小文字を区別するかどうかを指定します。

りー

以上がPHP定数の詳しい説明:defineとconstの違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート