ホームページ >バックエンド開発 >PHPチュートリアル >php_PHPチュートリアルのdefine()とconstの違いの詳細な説明
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' // 無効です |
コードをコピー | |
const FOO = 'BAR';
| 5. const は静的スカラーのみを受け入れることができますが、define は任意の式を使用できます。
コードは次のとおりです
でも
| 6. const は常に大文字と小文字を区別しますが、define() は 3 番目のパラメーターを通じて大文字と小文字を区別しない定数を定義できます
コードは次のとおりです
エコー foo; // バー
|
const の使用はシンプルで読みやすく、const を使用して定義することは、コンパイル時に定義するよりもはるかに高速です。
www.bkjia.com