第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)