phpの定数

3234 ワード

定数の定義
定数は単純な値の識別子です.名前が示すように、スクリプトの実行中に定数が定義されると、定義を変更または取り消すことはできません.定数は、デフォルトでは大文字と小文字が敏感です.通常の定数識別子は常に大文字です
定数名とその他のPHPラベルは、同じ命名規則に従います.合法的な定数名はアルファベットまたは下線で始まり、後ろには任意のアルファベット、数字または下線が付いています.
スーパーグローバル変数と同様に、定数の範囲はグローバルです.アクティブ領域を管理せずにスクリプトの任意の場所で定数にアクセスできます.
定数には、スカラーデータ(boolean、integer、float、string)のみが含まれます.resource定数は定義できますが、予想できない結果をもたらすため、できるだけ避けてください.
define()関数
定数を定義するにはdefine()関数を使用します.3つのパラメータを使用します.最初のパラメータは定数の名前を定義し、2番目のパラメータは定数の値を定義します.オプションの3番目のパラメータは定数名が大文字と小文字に敏感かどうかを規定します.デフォルトはfalseです.
bool define ( string name, mixed value [, bool case_insensitive] )
";echo PI0;//3.14?>

const
PHP 5.3.0以降、constキーワードを使用してクラス定義以外の定数を定義できます.
constキーを使用して定数を定義するには、コンパイル時に定義されるため、最上位の役割領域にある必要があります.これは,関数内,ループ内およびif文内でconstで定数を定義できないことを意味する.

 
定数検出
定数の場合、defined()関数およびconstant()関数に関連して、定数が定数を定義または検出するかどうかを検出するのが一般的です.
defined()関数
defined()関数は、定数が定義されているかどうかを判断するために使用され、構文フォーマットは次のとおりです.
bool defined(string constants_name)

存在する場合はtrueを返し、そうでない場合はfalseを返します.
定数が繰り返し定義されると、PHP解析器は定数が定義されていることを警告します.

constant()関数
constant()関数は、構文形式:
mixed constant(string constant_name)

 
システム定数
phpでは、定数を自分で定義できるほか、一連のシステム定数を事前に定義し、プログラムで直接使用していくつかの特殊な機能を完成することができます.システムで一般的な事前定義定数を次に示します.
PHP_OS        UNIX WINNT        PHP         PHP_VERSION   5.2.6             PHP    E_ERROR       1                  ,  PHP      E_WARNING     2                  ,    PHP      E_PARSE       4                    ,        E_NOTICE      8                      ,        
M_PI          3.1415926535898      PI 

完全なシステム定数リストをここに移動
 ; "
" ; "
"?>

 
マジック定数
PHPには8つのシステム定数が使用する位置によって変化し,このような定数をマジック定数と呼ぶ.
__LINE__                。__FILE__                   。          ,          。 PHP 4.0.2 ,__FILE__           (       ,          ),                   
__DIR__                。          ,              。      ,              。(PHP 5.3.0  )__FUNCTION__        (PHP 4.3.0  )。 PHP5                (     )。 PHP4         。__CLASS__           (PHP 4.3.0  )。 PHP5               (     )。 PHP4         。             (   Foo\Bar)__TRAIT__       Trait    (PHP 5.4.0  )。 PHP 5.4       trait        (     )。Trait             (   Foo\Bar)__METHOD__           (PHP 5.0.0   )。            (     )
__NAMESPACE__            (     )。           (PHP 5.3.0   )
";echo __LINE__;//11?>