PHPのdefineとconstの違いは何ですか?

青灯夜游
リリース: 2023-03-02 18:26:01
オリジナル
2583 人が閲覧しました

違い: 1. const はクラス メンバー変数の定義に使用されますが、define はクラス メンバー変数の定義に使用できません。2. const は静的スカラーのみを受け入れますが、define は任意の式を使用できます。3. . const 定数の定義では大文字と小文字が区別されますが、define では 3 番目のパラメータで大文字と小文字を区別するかどうかを指定できます。

PHPのdefineとconstの違いは何ですか?

定数はデフォルトで大文字と小文字が区別されます。通常、定数識別子は常に大文字です。

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,'
'; // PI echo constant($chang); // 3.14
ログイン後にコピー

define — 特定の名前の定数が存在するかどうかを確認する

// 真实开发一般是这样的 if(!defined('HEI')){ define('HEI',8846); }
ログイン後にコピー

推奨される関連チュートリアル: 「PHP チュートリアル」 「

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

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!