{php 定数}

WBOY
リリース: 2016-06-23 14:36:17
オリジナル
901 人が閲覧しました

定数

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

定数名は、他の PHP タグと同じ命名規則に従います。有効な定数名は文字またはアンダースコアで始まり、その後に任意の文字、数字、またはアンダースコアが続きます。正規表現は次のように表されます: [a-zA-Z_x7f-xff][a-zA-Z0-9_x7f-xff]*

例 #5 有効な定数名と無効な定数名

                               <p class="sycode">                           <?         php         //          合法的常量名                  define(         "         FOO         "         ,          "         something         "         );define(         "         FOO2         "         ,          "         something else         "         );define(         "         FOO_BAR         "         ,          "         something more         "         );         //          非法的常量名                  define(         "         2FOO         "         ,          "         something         "         );         //          下面的定义是合法的,但应该避免这样做:(自定义常量不要以__开头)         //          也许将来有一天PHP会定义一个__FOO__的魔术常量         //          这样就会与你的代码相冲突                  define(         "         __FOO__         "         ,          "         something         "         );         ?>                               </p>               
ログイン後にコピー


注: ここでの文字は、a ~ z、A ~ Z、および 127 ~ 255 (0x7f ~ 0xff) の ASCII 文字です。

スーパーグローバルと同様に、定数のスコープはグローバルです。定数は、スコープに関係なく、スクリプト内のどこからでもアクセスできます。関数の詳細については、変数スコープのマニュアルを参照してください。

define はグローバル定数を定義し、どこからでもアクセスできます。
const はクラスを定義するグローバル変数であり、その値は変更できません。

                  <p class="sycode">                 <?     php     class      say_const{       const      CHARSET     =     ”中国”;    publice function say_hello(){       echo slef::CHARSET;    }}  $const1     =     new      say_const()’  $const1     ->     say_hello();     ?>                  </p>
ログイン後にコピー


他の説明として、次の詳細な説明を参照してください:

詳細な説明: 定数の前にドル記号 ($) はありません。定数は、define() 関数を使用してのみ定義できます。代入ステートメントを介して; 定数は、変数スコープの規則に関係なく、どこでも定義およびアクセスできます。定数の値は、スカラー データ (ブール値) のみを含めることができます。 、整数、浮動小数点数、および文字列) はリソース定数を定義しません。 関数 constant() を使用して、定数の値を読み取ることができます。 get_define_constants() は、未定義の定数が使用されている場合、必要なのは定数自体の名前であると想定します。文字列を使用した場合(CONSTANTは「CONSTANT」に相当します)、PHPの「マジック定数」レベルのエラーが発行されます。

---------------------------------------------- --- --------------------------------------------------- --- --------------------------------------------------- --- -------

マジック定数

PHP は、実行するスクリプトに多数の事前定義された定数を提供します。ただし、多くの定数はさまざまな拡張ライブラリによって定義されており、これらの拡張ライブラリが動的にロードされるか、コンパイル時に組み込まれる場合にのみ表示されます。

コード内の位置に応じて値が変化する魔法の定数が 7 つあります。たとえば、__LINE__ の値は、スクリプト内でその値が配置されている行によって異なります。これらの特殊な定数は、次のように大文字と小文字が区別されません。

いくつかの PHP の「マジック定数」 名前 説明
__LINE__ ファイル内の現在の行番号。
__FILE__ ファイルの完全なパスとファイル名。インクルードされたファイル内で使用された場合、インクルードされたファイルの名前を返します。 PHP 4.0.2 以降、__FILE__ には常に絶対パス (シンボリック リンクの場合は解決された絶対パス) が含まれますが、それより前のバージョンには相対パスが含まれる場合がありました。
__DIR__ ファイルが配置されているディレクトリ。インクルードされたファイル内で使用された場合、インクルードされたファイルが配置されているディレクトリを返します。これは dirname(__FILE__) と同等です。ルート ディレクトリでない限り、ディレクトリ名には末尾のスラッシュは含まれません。 (PHP 5.3.0 の新機能) =
__FUNCTION__ 関数名 (PHP 4.3.0 の新機能)。 PHP 5 以降、この定数は定義されたとおりの関数名を返します (大文字と小文字は区別されます)。 PHP 4 では、この値は常に小文字です。
__CLASS__ クラスの名前 (PHP 4.3.0 の新機能)。 PHP 5 以降、この定数は定義されたときのクラスの名前を返します (大文字と小文字は区別されます)。 PHP 4 では、この値は常に小文字です。
__METHOD__ クラスのメソッド名 (PHP 5.0.0 で新しく追加されました)。定義されたとおりのメソッド名を返します (大文字と小文字が区別されます)。
__NAMESPACE__ 現在のネームスペースの名前 (大文字と小文字が区別されます)。この定数はコンパイル時に定義されます (PHP 5.3.0 の新機能)

echo __FILE__;

echo __CLASS__;

echo __file__;
?>

get_class() を参照してください。 vars ( )、file_exists()、および function_exists()。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート