違い: 1. const はクラス メンバー変数の定義に使用されますが、define はクラス メンバー変数の定義に使用できません。2. const は静的スカラーのみを受け入れますが、define は任意の式を使用できます。3. . const 定数の定義では大文字と小文字が区別されますが、define では 3 番目のパラメータで大文字と小文字を区別するかどうかを指定できます。
定数はデフォルトで大文字と小文字が区別されます。通常、定数識別子は常に大文字です。
define()
関数を使用して定数を定義できます。php5.3.0 以降では、const
キーワードを使用してクラス外の定数を定義できます。以前のバージョンでは、const キーワードはクラス内でのみ使用できました。
定数には、スカラー データ (ブール値、整数、浮動小数点、文字列) のみを含めることができます。リソース定数を定義することはできますが、避けるべきです。
定数を定義する
define("PI", 3.14); echo PI; // 3.14 echo pi; // 输出 "pi" 并发出一个Warning信息 // 以下代码在 PHP 5.3.0 后可以正常工作 const RATE = 'Hello World'; echo RATE;
PHP で定数を定義する場合、const と define の違い
1. Const 自体は次のとおりです。言語構造ですが、define は関数です。
2. Const はコンパイル時に define よりもはるかに高速です
3. Const はクラス メンバー変数の定義に使用されますが、define はクラス メンバー変数の定義には使用できません
4. const は条件文では使用できません
if (...){ const FOO = 'BAR'; // 无效的 } if (...) { define('FOO', 'BAR'); // 有效的 }
5. const は静的スカラーのみを受け入れますが、define は任意の式を使用できます
const BIT_5 = 1 << 5; // 无效的 define('BIT_5', 1 << 5); // 有效的
6. const は定数を定義するときに大文字と小文字が区別されますただし、定義では 3 番目のパラメータで大文字と小文字を区別するかどうかを指定できます (true は大文字と小文字を区別しないことを示します)
define('FOO', 'BAR', true); echo FOO; // BAR echo foo; // BAR
動的定数名
定数の場合name は動的であるため、関数 constant() を使用して定数の値を取得することもできます。 get_define_contstants() を使用して、定義されているすべての定数のリストを取得します。
define('PI',3.14); $chang = 'PI'; echo $chang,'<br/>'; // PI echo constant($chang); // 3.14
define — 特定の名前の定数が存在するかどうかを確認する
// 真实开发一般是这样的 if(!defined('HEI')){ define('HEI',8846); }
推奨される関連チュートリアル: 「PHP チュートリアル 」 「
以上がPHPのdefineとconstの違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。