【PHP】defineとconstの違いは?

PHP
スポンサーリンク

defineとconstの違い

define関数とconst構文は両方とも定数を定義するものになります。そんなdefine関数とconst構文の違いは以下のようになります。

define:グローバル関数→プログラム内のどこからでも呼び出せる
const:ローカル関数→宣言したクラス内のみで使える

もちろん両方とも定数を定義しているので、一度定義した値は書き換えることができません。

それではそれぞれの使い方を見ていきましょう。

define関数の使い方

define関数の使い方は以下になります。

define ( string $name , mixed $value [, bool $case_insensitive = false ] ) 

string $name:定数名 文字列のみ
mixed $value:定数の値 integer, float, string, boolean, NULLが入る(PHP7では配列を使える)
$case_insensitive:faleseの時は定数の大文字、小文字を区別する。TRUEの時は定数の大文字、小文字を区別しない。

具体例は以下になります。

define('PI', 3.14); //円周率
$radius = 10; //半径
$area = $radius*$radius*PI; //円の面積

このように変更してほしくない値を設定するときは定数にしましょう。

const構文の使い方

const構文の使い方は以下になります。

const string $name = mixed $value

それぞれのパラメータに入る値はdefine関数と同じです。
例は以下になります。

const PI = 3.14;

defineは関数ですが、constは関数ではありません。そのため、constの方が処理される速度が速いです。もし、大量に定数を定義する場合はconstを使う方が良いでしょう。

今回は以上になります。ありがとうございました。

タイトルとURLをコピーしました