変数・定数定数、定義済みの定数
定数名の命名規則
unknown
定数はデフォルトで大文字小文字を区別しますが、定数名は全て大文字で付けるのが一般的です。 定義済みの定数で使用されている予約語の名前は使えません。 変数と異なり、定数は先頭にドル記号を付けません。
○ | VAR, _1VAR, VAR1 | 文字(a-z、A-Z、0x7f-0xffのアスキー文字)またはアンダースコアから始まる定数名を付けられます。 |
× | 5VAR | 数値から始まる定数名は付けられません。 |
define
定数を定義する
unknown
bool define ( string $定数名, mixed $値[, int $case_insenstive] )
成功した場合にTRUE、失敗した場合にFALSEを返します。
オプション引数case_insensitiveにTRUEを指定すると、大文字小文字は区別されません。 デフォルトは、FALSE(大文字小文字を区別)です。 例えば「CONSTANT」と「Constant」は区別されます。
<?
//FALSEを指定した場合(大文字小文字区別あり)
define ( "FILENAME", "sample.txt", FALSE );
//TRUEを指定した場合(大文字小文字区別なし)
define ( "FILENAME", "sample.txt", TRUE );
if(defined("filename")) echo "定義済み";
else echo "未定義";
if(defined("FILENAME")) echo "定義済み";
else echo "未定義";
//FALSEの場合 : "未定義" "定義済み" --> FILENAMEとfilenameは別物
//TRUEの場合 : "定義済み" "定義済み"
//実行中の行番号を表示
echo __LINE__ ."行目<br>";
?>
defined
定数が定義済みか調べる
unknown
bool defined ( string $定数名 )
定数名で指定した名前の定数が定義されている場合にTRUE、そうでない場合にFALSEを返します。
<?
$MaxSize=200; //通常の変数
define("MAXSIZE", 100); //定数
if(defined ("MAXSIZE")) echo MAXSIZE;
else echo "未定義です";
//100
if(defined ("MaxSize")) echo MaxSize;
else echo "未定義です";
//未定義です
?>
constant
定数の値を取得
unknown
mixed constant ( string $定数名 )
定数名に指定した定数の値を返します。 ある定数の値を取得する必要な場合に、その定数名が定数かどうか調べるのに使用します。 指定した定数名が見つからない場合は、E_WARNING レベルのエラーが発生します。
<?
$MaxSize=200; //通常の変数
define("MAXSIZE", 100); //定数
echo MAXSIZE; //100
echo constant("MAXSIZE"); //100
//定数で無い場合は、エラーレベル(E_Warning)が発生
echo $MaxSize; //200
echo constant("MaxSize"); //エラーになる
?>
定義済みの定数
unknown
PHPでは、デフォルトで定義されている定数があります。 定義済みの定数は、get_defined_constants()関数で調べられます。
コアの定義済みの定数 | PHP情報、PHPエラー、マジカル定数、Zend engine、SAPIモジュールなど |
---|---|
PHP上でデフォルトで定義されている定数 | ソート型フラグ、ファイルロックのモードなど |
コアの定義済みの定数
値 | 定数 | 型 | 説明 | 注記 |
---|---|---|---|---|
1 | E_ERROR | integer | 重大な実行時エラー 復帰できないエラーのため、スクリプトの実行は中断される。 | |
2 | E_WARNING | integer | 実行時の警告 致命的なエラーではないので、スクリプトの実行は中断されない。 | |
4 | E_PARSE | integer | 文法エラー PHPの文法に間違いがあることを示す。 | |
8 | E_NOTICE | integer | 実行時の注意 エラーを発しうる状況に遭遇したことを示す。 ただし通常のスクリプト実行の場合にもこの警告を発する可能性がある。 | |
16 | E_CORE_ERROR | integer | PHPの初期始動時点での致命的なエラー E_ERRORと似ているがPHPのコアによって発行される点が異なる。 | PHP4~ |
32 | E_CORE_WARNING | integer | (致命的ではない)警告 PHPの初期始動時に発生する。E_WARNINGに似ているがPHPのコアによって発行される点が異なる。 | PHP4~ |
64 | E_COMPILE_ERROR | integer | コンパイル時の致命的なエラー E_ERRORに 似ているがZendスクリプティングエンジンによって発行される点が異なる。 | PHP4~ |
128 | E_COMPILE_WARNING | integer | コンパイル時の警告(致命的ではない) E_WARNINGに 似ているがZendスクリプティングエンジンによって発行される点が異なる。 | PHP4~ |
256 | E_USER_ERROR | integer | ユーザーによって発行されるエラーメッセージ E_ERROR に似ているがPHPコード上でtrigger_error()関数を 使用した場合に発行される点が異なる。 | PHP4~ |
512 | E_USER_WARNING | integer | ユーザーによって発行される警告メッセージ E_WARNING に似ているがPHPコード上でtrigger_error()関数を 使用した場合に発行される点が異なる。 | PHP4~ |
1024 | E_USER_NOTICE | integer | ユーザーによって発行される注意メッセージ E_NOTICEに に似ているがPHPコード上でtrigger_error()関数を 使用した場合に発行される点が異なる。 | PHP4~ |
2047 | E_ALL | integer | サポートされる全てのエラーと警告 E_STRICTレベルのエラーは除く。 | |
2048 | E_STRICT | integer | 実行時の注意 コードの相互運用性や互換性を維持するために PHPがコードの変更を提案する。 | PHP5~ |
定数 | 型 | 説明 |
---|---|---|
PHP_VERSION | string | PHPのバージョン |
PHP_OS | string | PHPが動作しているOS |
PHP_INT_MAX | integer | PHPで扱える数値の最大値 |
PHP_INT_SIZE | integer | 数値型(Integer)のバイト数 |
<?
#PHPのバージョン
echo PHP_VERSION."<br>"; // 4.4.0
#PHPが動作しているOS
echo PHP_OS."<br>"; // WINNT
#PHPで扱える数値の最大値
echo PHP_INT_MAX."<br>"; // 2147483647
#数値型のバイト数
echo PHP_INT_SIZE."<br>"; //4
?>
定数 | 型 | 説明 |
---|---|---|
DEFAULT_INCLUDE_PATH | string | デフォルトのインクルードパス |
PEAR_INSTALL_DIR | string | Perlがインストールされているパス |
PEAR_EXTENSION_DIR | string | Perlの拡張モジュールがあるパス |
PHP_EXTENSION_DIR | string | PHPの拡張モジュールがあるパス |
PHP_BINDIR | string | PHPのbinディレクトリのパス |
PHP_LIBDIR | string | PHPライブラリディレクトリのパス |
PHP_DATADIR | string | PHPのデータディレクトリ |
PHP_SYSCONFDIR | string | |
PHP_LOCALSTATEDIR | string | |
PHP_CONFIG_FILE_PATH | string | PHPの設定ファイル(php.ini)のパス |
<?
#デフォルトのインクルードパス
echo DEFAULT_INCLUDE_PATH."<br>"; // .;c:\php4\pear
#Perlがインストールされているパス
echo PEAR_INSTALL_DIR."<br>"; // c:\php4\pear
#Perlの拡張モジュールがあるパス
echo PEAR_EXTENSION_DIR."<br>"; // c:\php4
#PHPの拡張モジュールがあるパス
echo PHP_EXTENSION_DIR."<br>"; // c:\php4
#PHPのbinディレクトリのパス
echo PHP_BINDIR."<br>"; // c:\php4
#PHPライブラリディレクトリのパス
echo PHP_LIBDIR."<br>"; // c:\php4
#PHPのデータディレクトリ
echo PHP_DATADIR."<br>"; // c:\php4
#
echo PHP_SYSCONFDIR."<br>"; // c:\php4
#
echo PHP_LOCALSTATEDIR."<br>"; // c:\php4
#PHPの設定ファイル(php.ini)のパス
echo PHP_CONFIG_FILE_PATH."<br>"; // C:\
?>
定数 | 型 |
---|---|
PHP_OUTPUT_HANDLER_START | integer |
PHP_OUTPUT_HANDLER_CONT | integer |
PHP_OUTPUT_HANDLER_END | integer |
<?
#ヘッダ出力
echo PHP_OUTPUT_HANDLER_START."<br>"; // 1
echo PHP_OUTPUT_HANDLER_CONT."<br>"; // 2
echo PHP_OUTPUT_HANDLER_END."<br>"; // 4
?>