define() 定数を定義する為の関数
define関数は、定数を定義する際に使用するビルトイン関数です。ここでは、define()で定数を定義する時、どう書けば良いのかを説明しています。
また、定数と言えば constキーワードを使った書き方もありますが、constでの定義と define関数での定義は何が違うのかも説明しています。
define関数の書き方
define関数の書式は次のようになります。
define("定数名" , 値);
1つ目の引数に定数名を記述します。この時、定数名をシングルクォーテーションまたはダブルクォーテーションで囲みます。
定数名をつける時のルールは変数の場合と同じです。ただ定数の場合は、英字を大文字にするのが一般的です。
2つ目の引数に、この定数に代入する値を記述します。
define関数ならブロック内でも定数定義できる
定数の定義は constキーワードを使ってもできます。例えば次のようにです。
const SAMPLE = 100; // 定数 SAMPLE を定義して「100」を代入しています。
echo SAMPLE; // 「100」と出力されます。
ただ、constキーワードでの定数定義は一番上の階層でしかすることができません。つまり関数定義、if文やループ文などのブロックの中で、const を使って定数定義しようとするとエラーになります。
そこで、define関数を使えば、ブロックの中でも定数を定義することができます。
function test() {
define("SAMPLE" , 100);
echo SAMPLE; // 「100」が出力されます。
}
test(); // 関数testを実行。
「test」という関数を定義し、その中で定数「SAMPLE」を定義しています。define関数で定数定義すれば、ブロックの中でも動作します。