第2章 PHPの基本 / 第2回 模擬試験
PHPの定数に関する次の記述のうち、誤っているものはどれか。
`define()`関数または`const`キーワードで定数を定義できる。
定数名の先頭には`$`記号を付ける必要がある。
正解
一度定義した定数の値は変更できない。
`const`はクラス定数の定義にも使用できる。
解説
定数名には`$`記号を付けません。`$`記号を付けるのは変数の書き方であり、定数(`define('MAX_USERS', 100)`や`const MAX_USERS = 100;`)は`$`なしの名前で定義・参照します。
他の選択肢が正しい理由は次の通りです。
・定数は関数`define()`、または言語構文`const`のいずれでも定義できます。
・定数は一度定義すると値を変更できません(再定義しようとするとエラーになります)。
・`const`はクラス定数(`class Foo { const BAR = 1; }`)の定義にも使用できます。
例:
```
define('MAX_USERS', 100);
const MIN_USERS = 1;
class Config {
const VERSION = '1.0';
}
echo MAX_USERS; // 100($は付けない)
```
(参照: 独習PHP 第4版 第2章 PHPの基本 2.2節 定数 p.56〜59)