ホームページ >バックエンド開発 >PHPチュートリアル >PHP 定数を定義する 2 つの方法、define と const の違いは何ですか?
この記事では、PHP 定数を理解し、PHP 定数の 2 つの定義方法を比較し、それらの違いについて説明します。
定数と変数の違いは次のとおりです:
1. 定数の前にドル記号 ($) はありません2 . 定数は、define() 関数の定義のみを渡すことができますが、代入ステートメントを介して渡すことはできません3. 定数は、変数のスコープに関係なく、どこでも定義してアクセスできます#4. 定数が渡されると、
5. 定数の値はスカラーのみ可能です
<?php // 以下代码在 PHP 5.3.0 后可以正常工作 const USERNAME = 'zhouguowei'; echo USERNAME; echo constant("USERNAME"); const ZHOUUSERNAME = 'zhouguowei2222222222'; define('MYUSERNAME','zhouguowei1111111'); echo "<pre class="brush:php;toolbar:false">"; print_r(get_defined_constants()); ?>Q: PHP で定数を定義する場合、const と const の違いは何ですか?そして定義しますか?
回答: const を使用すると、コードがシンプルで読みやすくなります。const 自体は言語構造であり、define は関数です。さらに、const はコンパイル時に定義するよりもはるかに高速です。
1. Const はクラスのメンバー変数の定義に使用され、一度定義すると変更することはできません。 Define はクラス メンバー変数の定義には使用できませんが、グローバル定数には使用できます。
2. Const はクラス内で使用できますが、定義することはできません。
3. Const は条件文で定数を定義できません。
<?php if (...){ const FOO = 'BAR'; // 无效的invalid } if (...) { define('FOO', 'BAR'); // 有效的valid } ?>
4. Const は通常の定数名を使用します。定義する式は名前として使用できます
<?php const FOO = 'BAR'; for ($i = 0; $i < 32; ++$i) { define('BIT_' . $i, 1 << $i); } ?>
5. const は静的スカラーのみを受け入れることができますが、define は任意の式を使用できます
<?php const BIT_5 = 1 << 5; // 无效的invalid define('BIT_5', 1 << 5); // 有效的valid ?>
6. const で定義された定数は大文字と小文字が区別されますが、define は次のようにすることができます3 番目のパラメータで大文字と小文字を区別するかどうかを指定します (true は大文字と小文字を区別しないことを示します)。
<?php define('FOO', 'BAR', true); echo FOO; // BAR echo foo; // BAR ?>
推奨学習: 「
PHP ビデオ チュートリアル以上がPHP 定数を定義する 2 つの方法、define と const の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。