第2章 PHPの基本 / 第3回 模擬試験
PHPの変数の命名規則に関する次の記述のうち、誤っているものはどれか。
変数名はアンダースコア`_`で始めることができる。
変数名に日本語などのマルチバイト文字を使うことはできない。
正解
変数名の大文字・小文字は区別される(`$name`と`$Name`は別の変数)。
変数名の途中にハイフン`-`を使うことはできない。
解説
実はPHPの変数名には日本語などのマルチバイト文字も使用できます(PHPの変数名のルールは「ASCII文字の英字・数字・アンダースコア、および0x80〜0xff(マルチバイト文字含む)」で、数字以外なら先頭に使用可)。ただし可読性やチーム開発での扱いにくさから、実務では推奨されません。「使うことはできない」という記述は誤りです。
他の選択肢が正しい理由は次の通りです。
・変数名はアンダースコア`_`から始めることができます(`$_token`など)。
・変数名は大文字・小文字を区別します。`$name`と`$Name`は別の変数として扱われます。
・変数名にハイフン`-`を使うことはできません(`-`は減算演算子として解釈されるため)。
例:
```
$名前 = 'Taro';
echo $名前; // Taro(動作はするが実務では非推奨)
```
(参照: 独習PHP 第4版 第2章 PHPの基本 2.1節 p.50〜55)