【PHP】定数の使い方とconstとdefineの違い
PHPの定数の使い方とconstとdefineの違いを紹介します。
定数とは
定数を使うと、値が変化しない、変化してほしくない変数を明言的に固定することができます。
定数は、一度宣言すると上書きできません。
定数の定義方法は2種類
定数はconstを使った定義方法場合と、defineを使った定義方法があります。
<?php
// constの例
const MAX_QUANTITY = 0.1;
// defineの例
define('MAX_QUANTITY2', 0.1);
この2つの定義方法では、下のような違いがあることに注意しましょう。
constとdefineの違い
以下3つの違いがあります。
- constはif文や関数の中では使えない
- defineではグローバルスコープに値が配置される
- constは名前空間内に配置される
if文や関数の中ではconstが使えないので、defineを使うことになります。
定数を使うメリット
定数は、一度宣言すると上書きできないため、変数の意味が明確になります。
定義されているかを確認するdefined()
defined()を使うことで、二度定義することを防ぐことができます。
<?php
if(!defined('MAX_QUANTITY3')) {
define('MAX_QUANTITY3', 0.1);
}