ホームページ  >  記事  >  バックエンド開発  >  php定義の用途は何ですか

php定義の用途は何ですか

青灯夜游
青灯夜游オリジナル
2023-01-30 15:59:372115ブラウズ

PHP では、define() 関数を使用して定数を定義します。構文は「define($name, $value, $case_insensitive)」です。パラメータ「$case_insensitive」は、定数を定義するかどうかを指定するために使用されます。定数は大文字と小文字を区別します。デフォルトでは大文字と小文字が区別されます。値が true に設定されている場合は、大文字と小文字が区別されないことを意味します。定数を一度定義すると、再定義したり、定義を解除したりすることはできません。

php定義の用途は何ですか

このチュートリアルの動作環境: Windows7 システム、PHP8 バージョン、DELL G3 コンピューター

define は PHP の組み込み関数です。定数を定義するために使用されます。

定数は単純な識別子です。この値は、スクリプトの実行中に変更できません (定数ではない、いわゆるマジック定数を除く)。定数はデフォルトで大文字と小文字が区別されます。通常、定数識別子は常に大文字です。

定数は変数に似ています。違いは、定数の値を設定後は変更できないことです。先頭にドル記号 ($) を付ける必要はありません。スコープは変数へのアクセスには影響しません。定数。定数の値は文字列または数値のみです。

define() 関数は定数を定義します

有効な定数名は文字とアンダースコアのみで始まり、その後に文字、数字、またはアンダースコアを続けることができます。任意の長さ。 PHP では、define() 関数を使用して定数を定義できます。define() 関数の構文は次のとおりです:

define($name, $value , $case_insensitive)
  • $name 必須パラメータ、定数名(二重引用符を使用するか、一重引用符で囲む必要があります)

  • $value 必須パラメータ、定数の値

  • $case_insensitive オプションのパラメータ, 大文字と小文字を区別するかどうかを指定します。デフォルトでは大文字と小文字が区別されます。true に設定すると、大文字と小文字が区別されないことを意味します。

    #拡張知識:

php定義の用途は何ですかconst キーワードは定数を定義します

php5.3.0 以降では、const キーワードを使用してクラス定義の外で定数を定義できます。以前のバージョンでは、const キーワードはクラス ( class) 内でのみ使用できます。

構文:

<?php
header("Content-type:text/html;charset=utf-8");
define(&#39;WebSite&#39;, &#39;php中文网&#39;);
echo WebSite.&#39;<br>&#39;;
?>
例:
const 常量名 = 常量值;

define() と const の違い:

const はコンパイル時に定義されます。 time 定数、define() メソッドは実行時に定数を定義します。

const は if ステートメントでは使用できませんが、defne() は if ステートメントで使用できます。

<?php
const FOO = &#39;BAR&#39;;
echo FOO.&#39;<br>&#39;;
?>
define() 一般的なシナリオは、定数を定義する前に、定数が定義されているかどうかをまず確認することです。
if(...) {
    const FOO = &#39;BAR&#39;;//错误
}
if(...) {
    define(&#39;FOO&#39;, &#39;BAR&#39;);//正确
}

const 定数を定義する場合、値は静的スカラー ( number、string、true、false、null)、define() メソッドは任意の式の値を定数の値として使用できます。 PHP 5.6 以降、const では式を定数の値として使用することもできます。

if(defined(&#39;FOO)) {
    define(&#39;FOO&#39;, &#39;BAR&#39;)
}
const BIT_5 = 1 << 5; //PHP5.6后支持,之前的PHP版本不支持
define(&#39;BIT_5&#39;, 1 << 5);// 所有PHP版本都支持const 只允许简单的常量名,而define()可以把任何表达式的值用作常量名

const 定義される定数名は大文字と小文字が区別されます。大文字と小文字を区別しない定数は、define() メソッドの 3 番目のパラメーターに true を渡すことで定義できます。

for ($i = 0; $i < 32; $i++) {
    define(&#39;BIT_&#39; . $i, 1 << $i);
}

上に挙げたのは、define() と比較した const のいくつかの欠点または柔軟性の低さです。定数を定義するために、define() の代わりに const を使用することを私が個人的に推奨する理由を見てみましょう (定数を定義する必要がある場合を除く)上記のシナリオ)。

const は読みやすさに優れており、const は関数ではなく言語構造であり、クラス内でクラス定数を定義する形式と一致しています。

const は現在の名前空間の定数を定義します。また、同様の効果を実現するために、定義するときに、define() は完全な名前空間名を渡す必要があります:

define(&#39;FOO&#39;, &#39;BAR&#39;, true);
echo FOO; //BAR
echo foo; //BAR

推奨学習: 「

PHP ビデオ チュートリアル##」 #》

以上がphp定義の用途は何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。