第5章 組み込み関数 / 第4回 模擬試験

PHPの`unset()`関数に関する次の記述のうち、正しいものはどれか。

`unset()`は変数を破棄(未定義の状態に)する関数である。 正解
`unset()`は変数の値を`0`にリセットする関数である。
`unset()`は配列全体を削除することはできず、要素単位でのみ使用できる。
`unset()`された変数は、`isset()`で`true`と判定される。
解説
`unset($var)`は、指定した変数そのものを破棄し、未定義の状態に戻す関数です。破棄された変数を`isset()`で調べると`false`が返ります。 他の選択肢が誤りである理由は次の通りです。 ・`unset()`は変数を「破棄」する関数であり、値を`0`にリセットする(変数自体は存在し続ける)わけではありません。 ・`unset()`は配列の特定の要素(`unset($arr[0])`)だけでなく、配列変数全体(`unset($arr)`)を破棄することもできます。 ・`unset()`された変数を`isset()`で調べると`false`が返ります。「`true`と判定される」は誤りです。 例: ``` $name = 'Taro'; unset($name); var_dump(isset($name)); // false $arr = [1, 2, 3]; unset($arr[1]); // 要素だけ削除 print_r($arr); // [0=>1, 2=>3] unset($arr); // 配列全体を削除 ``` (参照: 独習PHP 第4版 第5章 組み込み関数 5.6.2節 変数を破棄する p.253)