【質問】PHP で定数を定義する場合、const と define の違いは何ですか?
【回答】const 自体は言語構造であり、define は関数です。さらに、const はコンパイル時に定義するよりもはるかに高速です。
(1).const は、クラスのメンバー変数の定義に使用されます。一度定義すると、変更することはできません。 define はクラス メンバー変数の定義には使用できませんが、グローバル定数には使用できます。
(2).const はクラスで使用できますが、define では使用できません。
(3).const は条件文で定数を定義できません。
例:
if (...){
const FOO = 'BAR' // 無効 無効
}
if (...) {
define('FOO', 'BAR' ); // Valid valid
}
(4).const は通常の定数名を使用しますが、define は名前として式を使用できます。
const FOO = 'BAR';
for ($i = 0; $i
define('BIT_' . $i, 1 <
}
(5).const は静的スカラーのみを受け入れることができますが、define は任意の式を受け入れることができます。
例:
const BIT_5 = 1 <
define('BIT_5', 1 <
(6).const 定義定数は大文字と小文字が区別され、define は 3 番目のパラメータで大文字と小文字を区別するかどうかを指定できます (true は大文字と小文字を区別しないことを意味します)。
例:
define('FOO', 'BAR', true);
echo FOO; // BAR
echo foo;
上記では、PHP で定数を定義する場合の const と define の違いを、関連する側面も含めて紹介しました。PHP チュートリアルに興味のある友人にとって役立つことを願っています。