define
そふぃのPHP入門 >> PHP関数リファレンス >> その他の関数 >> define

define

解説 定数を定義する
書式 bool define( string name , mixed value [, bool case_insensitive ] )
bool define( string 定数名 , mixed 定数値 [, bool 大文字・小文字の区別 ] )
引数 name 定数名
value 定数値
case_insensitive 定数名の大文字・小文字を区別するかどうか
返値 TRUE(定数定義が成功)/FALSE(定数定義が失敗)

PHPマニュアル:define define()

define()関数:概略解説

define()は定数を定義するための関数です。すでに同名の定数が定義されている場合は定数の定義は失敗します。つまり、一度定義した定数を再定義することはできません。 {include file='parts/goto.tpl' goto=$goto[0]}

define()関数:返り値解説

定数定義に成功した時にTRUE、失敗した時にFALSEを返します。定数が再定義された場合などはFALSEを返し、Noticeレベルのエラーを出力します。

define()関数:引数解説

name定数名
定数名を指定します。つまり、定義したい定数の名前を決めます。
value定数値
定数の値を指定します。
case_insensitive大文字・小文字の区別
省略可能なオプション引数で、定数名の大文字・小文字を区別するかどうかという意味です。省略した場合はFALSEが適用され、大文字・小文字を区別します。TRUEを指定すると定数は大文字・小文字を区別しません。 {include file='parts/goto.tpl' goto=$goto[1]}

define()関数:補足解説

定数名には日本語などのマルチバイト文字を使う事もできますが、慣習的には大文字の英数字を使用します。

define()関数:注意

Noticeレベルのエラーはデフォルトでは出力されないように設定されているため、このエラーを出力するにはerror_reporting()関数で設定を変更する必要があります。定数の再定義は通常では出力されないエラーなので見過ごしがちですが、内部的にはエラーとして扱われていると言う事に注意してください。

参考関数

  • defined() ---- 指定した名前の定数が存在するかどうか調べる
  • constant() ---- 定数の値を取得する

主な定義済み定数

主な定義済み定数
定数名 内容
__FILE__ ファイルのフルパスとファイル名
__LINE__ ファイル上の現在の行番号
PHP_VERSION PHPのバージョン
PHP_OS PHPが稼働しているOS

PHPでの主だった定義済み定数を表にしました。定義済み定数とはPHPによってあらかじめ定義されている定数です。この他にも定義済み定数はたくさんあります。

サンプル PHPの定数:定義済み定数

サンプルスクリプト

簡単な利用例

  1. <?php
  2. define("NAME", "そふぃ");
  3. echo NAME;
  4. ?>

出力結果

そふぃ

日本語の定数名

  1. <?php
  2. define("挨拶", "Hello!"); // 定数定義:定数名に日本語
  3. echo 挨拶;
  4. ?>

出力結果

Hello!

このように定数名には日本語を使用する事もできますが、一般的に定数は大文字の英数字で表記されます。今回はせっかく日本語も使えるので試してみました。ただ、やっぱり日本語は使わない方が無難だとは思います。スクリプトエラーの要因をなるべく少なくするためには日本語よりも英数字の方が有利です。

大文字・小文字の区別

  1. <?php
  2. define("GREETING", "おはよう", true);
  3. echo GREETING."<br />"; // 大文字で呼び出し
  4. echo greeting; // 小文字で呼び出し
  5. ?>

出力結果

おはよう
おはよう

デフォルトではGREETINGgreetingは別の定数になりますが、第3引数をTRUEに指定すれば大文字・小文字を区別せずに使えるようになります。