第2章 PHPの基本 / 第4回 模擬試験

PHPの`null`型に関する次の記述のうち、正しいものはどれか。

変数に`null`を代入すると、その変数は「値を持たない」状態になる。 正解
`null`は数値の`0`と全く同じ値として扱われる(`null === 0`は`true`)。
PHPには`null`という値は存在しない。
`null`はブール値の`false`と厳密に等しい(`null === false`は`true`)。
解説
変数に`null`を代入すると、その変数は「値を持たない」ことを表す特別な状態になります。`null`はPHPにおける独立した型(`null`型)で、値としては`null`ただ1つだけが存在します。 他の選択肢が誤りである理由は次の通りです。 ・`null`と数値の`0`は異なる型のため、厳密等価演算子`===`で比較すると`null === 0`は`false`になります(緩やかな比較`==`ではおおむね等しいとみなされますが、`===`では区別されます)。 ・PHPには`null`という値・型が明確に存在します。未初期化の変数や、明示的に`null`を代入した変数の値として使われます。 ・`null`と`false`も異なる型のため、`null === false`は`false`になります。 例: ``` var_dump(null === 0); // false var_dump(null === false); // false var_dump(null == false); // true(緩やかな比較では等しいとみなされる) ``` (参照: 独習PHP 第4版 第2章 PHPの基本 2.3.7節 ヌル(null) p.70)