PHP

on Note

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関数で定数定義すれば、ブロックの中でも動作します。