define
| 解説 | 定数を定義する |
|---|---|
| 書式 | bool define( string name , mixed value [, bool case_insensitive ] ) |
bool define( string 定数名 , mixed 定数値 [, bool 大文字・小文字の区別 ] ) |
|
| 引数 |
name
定数名
|
value
定数値
|
|
case_insensitive
定数名の大文字・小文字を区別するかどうか
|
|
| 返値 | TRUE(定数定義が成功)/FALSE(定数定義が失敗) |
define()は定数を定義するための関数です。すでに同名の定数が定義されている場合は定数の定義は失敗します。つまり、一度定義した定数を再定義することはできません。
{include file='parts/goto.tpl' goto=$goto[0]}
定数定義に成功した時にTRUE、失敗した時にFALSEを返します。定数が再定義された場合などはFALSEを返し、Noticeレベルのエラーを出力します。
name定数名定数名を指定します。つまり、定義したい定数の名前を決めます。
value定数値定数の値を指定します。
case_insensitive大文字・小文字の区別省略可能なオプション引数で、定数名の大文字・小文字を区別するかどうかという意味です。省略した場合はFALSEが適用され、大文字・小文字を区別します。TRUEを指定すると定数は大文字・小文字を区別しません。
{include file='parts/goto.tpl' goto=$goto[1]}
定数名には日本語などのマルチバイト文字を使う事もできますが、慣習的には大文字の英数字を使用します。
※Noticeレベルのエラーはデフォルトでは出力されないように設定されているため、このエラーを出力するにはerror_reporting()関数で設定を変更する必要があります。定数の再定義は通常では出力されないエラーなので見過ごしがちですが、内部的にはエラーとして扱われていると言う事に注意してください。
参考関数
- defined() ---- 指定した名前の定数が存在するかどうか調べる
- constant() ---- 定数の値を取得する
主な定義済み定数
| 定数名 | 内容 |
|---|---|
__FILE__ |
ファイルのフルパスとファイル名 |
__LINE__ |
ファイル上の現在の行番号 |
PHP_VERSION |
PHPのバージョン |
PHP_OS |
PHPが稼働しているOS |
PHPでの主だった定義済み定数を表にしました。定義済み定数とはPHPによってあらかじめ定義されている定数です。この他にも定義済み定数はたくさんあります。
サンプルスクリプト
簡単な利用例
- define("NAME", "そふぃ");
- echo NAME;
出力結果
そふぃ
日本語の定数名
- define("挨拶", "Hello!"); // 定数定義:定数名に日本語
- echo 挨拶;
出力結果
Hello!
このように定数名には日本語を使用する事もできますが、一般的に定数は大文字の英数字で表記されます。今回はせっかく日本語も使えるので試してみました。ただ、やっぱり日本語は使わない方が無難だとは思います。スクリプトエラーの要因をなるべく少なくするためには日本語よりも英数字の方が有利です。
大文字・小文字の区別
- define("GREETING", "おはよう", true);
- echo GREETING."<br />"; // 大文字で呼び出し
- echo greeting; // 小文字で呼び出し
出力結果
おはよう
おはよう
おはよう
デフォルトではGREETINGとgreetingは別の定数になりますが、第3引数をTRUEに指定すれば大文字・小文字を区別せずに使えるようになります。





