PHP で定数を定義するときに使用できます。 constとdefineの違いは?
1. Const はクラスのメンバー変数の定義に使用され、一度定義すると値を変更することはできません。 define は、どこからでもアクセスできるグローバル定数を定義します。 2.define はクラス内で定義できませんが、const はクラス内で定義する必要があり、const で定義された変数にはクラス名::変数名を通じてアクセスする必要があります。 3. const 定数は条件文では定義できません。 4. const は通常の定数名 (静的スカラー) を使用し、define は任意の式を名前として使用できます。 5. const は常に大文字と小文字を区別しますが、define() は 3 番目のパラメータを使用して大文字と小文字を区別しない定数を定義できます。 6. const の使用はシンプルで読みやすいです。const はそれ自体が言語構造であり、define はメソッドです。const を使用して定義する方が、コンパイル時に定義するよりもはるかに高速です。 クラスで定数を定義する場合、次の例のように、define は使用できませんが、const を使用してください。PHP チュートリアル "
<?php //在类外面通常这样定义常量 define("PHP","111cn.net"); class MyClass { //常量的值将始终保持不变。在定义和使用常量的时候不需要使用$符号 const constant = 'constant value'; function showConstant() { echo self::constant . "<br>"; } } echo MyClass::constant . "<br>"; $classname = "MyClass"; echo $classname::constant . "<br>"; // PHP 5.3.0之后 $class = new MyClass(); $class->showConstant(); echo $class::constant."<br>"; // PHP 5.3.0之后 //print_r(get_defined_constants()); //可以用get_defined_constants()获取所有定义的常量 ?>
<?php const a = "abcdef"; echo a; ?>
ここでは、定数に関する基本的な知識には触れません。上記のdefineとconstは別物です 違い(インターネットとの):
1.constは条件文で定数を定義できませんが、次のようにdefineは可能です:<?php if(1){ const a = 'java'; } echo a; //必错 ?>
<?phpconst FOO = 'PHP'; for ($i = 0; $i < 32; ++$i) { define('PHP_' . $i, 1 << $i); } ?>
<?php const PHP = 1 << 5; // 错误 define('PHP', 1 << 5); // 正确 ?>
次の内容は Rotted_Pencil のブログ投稿からの抜粋です: PHP での定数の定義、define() と const の違い
序文 Read今日もStackoverflowでとても興味深い記事を見つけたので翻訳して取り上げてみました。この記事は、PHP 開発メンバーの 1 人である NikiC によって書かれたもので、その権威は疑いの余地がありません。本文 PHP5.3 では、定数を定義する方法が 2 つあります:1. const キーワードを使用します 2. define() メソッドを使用しますconst FOO = ‘BAR’; define(‘FOO’,’BAR’);
if (...) { const FOO = 'BAR'; // 无效的 } // but if (...) { define('FOO', 'BAR'); // 有效的 }
if (!defined('FOO')) { define('FOO', 'BAR'); }
const BIT_5 = 1 << 5; // 在PHP5.6之后有效,之前无效 define('BIT_5', 1 << 5); // 一直有效
for ($i = 0; $i < 32; ++$i) { define('BIT_' . $i, 1 << $i); }
define('FOO', 'BAR', true); echo FOO; // BAR echo foo; // BAR
namespace A\B\C; // 如果要定义常量 A\B\C\FOO: const FOO = ‘BAR’; define(‘A\B\C\FOO’, ‘BAR’);
const FOO = [1, 2, 3]; // 在PHP 5.6中有效 define(‘FOO’, [1, 2, 3]); // 在PHP 5.6无效, 在PHP 7.0有效
class Foo { const BAR = 2; // 有效 } class Baz { define('QUX', 2); // 无效 }
条件文で式を使用したり定数を定義したりする必要がある場合を除き、コードを読みやすくするために const を使用することをお勧めします。
PHP 関連の知識の詳細については、PHP 中国語 Web サイト をご覧ください。
以上がPHPのconstとdefineの違いを詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。