defineで定義した値は書き換えられません!
<?php
define('TAX', 1.08); // 消費税
define('TAX', 1.10); // 消費税を変更
echo TAX;
<実行結果>
Notice: Constant TAX already defined
1.08
このように定数は変更しようとしても書き換わらず、さらに「もう定数宣言されてるよ」といった意味のエラー文がでます。
配列定数の定義
PHP7以降ではdefineで配列を定義することができます。配列の定数なので配列定数と呼ばれます。
<?php
define('ANIMAL', array(
'猿',
'鳥',
'犬'
));
echo '桃太郎の最初の仲間は' . ANIMAL[0] . 'です';
<実行結果>
桃太郎の最初の仲間は鳥です
また、配列だけでなく連想配列も定義することができます。
<?php
define('ANIMAL', array(
'猿' => '300円',
'鳥' => '200円',
'犬' => '500円'
));