PHP の Define と Const の違い

不言
不言オリジナル
2018-07-04 17:36:232564ブラウズ

この記事では、主に PHP の Define と Const の違いを紹介します。これには、特定の参照値があります。今、それを共有します。困っている友達は、それを参照できます。

値は頻繁に変更されます。定数として定義される定数は、通常、先頭にドル記号を付けずにすべて大文字で表現されます。では、define と const の違いは何でしょうか?

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

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

<?php
// 以下代码在 PHP 5.3.0 后可以正常工作
const USERNAME = &#39;周伯通&#39;;
echo USERNAME.PHP_EOL;
echo constant("USERNAME");
const ZHOUUSERNAME = &#39;周伯通九阴真经&#39;;define(&#39;MYUSERNAME&#39;,&#39;周伯通九阴真经2&#39;);
echo "<pre class="brush:php;toolbar:false">";
print_r(get_defined_constants());
?>

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

1. const は言語構造であり、define は関数です。 、3 番目のパラメータで大文字と小文字を区別するかどうかを指定できます。 true は大文字と小文字を区別しないことを意味し、デフォルトは false

2 です。const はシンプルで読みやすく、定義よりもコンパイルの方がはるかに高速です。

3. Const はクラス内で使用でき、クラス メンバー定数の定義に使用されます。定義後に変更することはできません。define はクラス内で使用できず、グローバル変数に使用できます

<?php
class MyClass
{    const USER = &#39;周伯通&#39;;    
function showConstant() {        
echo  self::USER . PHP_EOL;        
echo  constant(&#39;USER&#39;); // 注意:Warning: constant(): Couldn&#39;t find constant USER    
}
}
$class = new MyClass();
$class->showConstant();

#4. const はコンパイル時に定義されるため、最上位のスコープになければならず、関数、ループ、および関数では使用できません。 if 条件; while 定義 これは関数です、つまり、関数を呼び出すことができる場所であればどこでも使用できます。この記事の全内容です。皆さんの学習に役立つことを願っています。その他の関連コンテンツについては、PHP 中国語 Web サイトに注目してください。

関連する推奨事項:

PHP での ob_start 使用状況分析

PHP empty() 関数の説明

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。