ホームページ >バックエンド開発 >PHPチュートリアル >php_PHPチュートリアルのdefine()とconstの違いの詳細な説明

php_PHPチュートリアルのdefine()とconstの違いの詳細な説明

WBOY
WBOYオリジナル
2016-07-13 10:50:08849ブラウズ

PHP では、define() と const() の両方で定数を定義できます。では、多くのプログラマーはこの関数の使用法を理解していません。 。

define() と const:

の違い

define() は実行時に定数を定義し、const はコンパイル時に定数を定義します。 const には速度の点で若干の利点があります (つまり、パフォーマンスがわずかに優れています) が、高度な同時実行システムを構築していない限り、考慮する価値はありません。

define() は、定数が名前空間の define メソッドを使用して定義されている場合でも、グローバル スコープに属します。 define() を使用してクラス定数を定義することはできません (クラス定数は const を使用して定義されます)。また、名前空間スコープ内の定数は、namespace const ABC=’100′; のように const を使用して定義されます。

define() では定数名と定数値に式を使用できますが、const ではどちらも使用できません。 これにより、define() がより柔軟になります。
define() は if() ブロック内で呼び出すことができますが、const は呼び出すことができません。

同じスコープ内では、define() 定数名と const で定義された定数名を同じにすることはできません。
const は、

などのクラス定数と名前空間定数を定義できます。

名前空間 abc; const ABC = 'a'; クラス hello { const C_NUM = 8;

コードは次のとおりですコードをコピー
if (...) {

const FOO = 'BAR' // 無効です
; }

でも

if (...) {
Define('FOO', 'BAR'); // 有効
}

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

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

const FOO = 'BAR';
for ($i = 0; $i 定義('BIT_' . $i, 1 <

コードは次のとおりですコードをコピーconst BIT_5 = 1 < 6. const は常に大文字と小文字を区別しますが、define() は 3 番目のパラメーターを通じて大文字と小文字を区別しない定数を定義できます
でも


定義('BIT_5', 1 << 5) // 有効


コードは次のとおりですコードをコピーdefine('FOO', 'BAR', true); エコー FOO // バー const の使用はシンプルで読みやすく、const を使用して定義することは、コンパイル時に定義するよりもはるかに高速です。
エコー foo; // バー


概要:


http://www.bkjia.com/PHPjc/632646.html

www.bkjia.com

http://www.bkjia.com/PHPjc/632646.html技術記事 PHP では、define() と const() の両方で定数を定義できます。では、多くのプログラマーはこれを理解していません...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。