第5章 組み込み関数 / 第4回 模擬試験
PHPの`array_search()`関数と`in_array()`関数に関する次の記述のうち、正しいものはどれか。
`array_search()`は見つかった要素のキーを返し、`in_array()`は見つかったかどうかを`bool`で返す。
正解
`array_search()`と`in_array()`は完全に同じ戻り値の型を返す。
`array_search()`は要素が見つからない場合、必ず`0`を返す。
`in_array()`は配列の中身をソートしてから検索する関数である。
解説
`array_search()`はマッチした要素のキー(または`false`)を返し、`in_array()`は存在有無を`true`/`false`で返します。見つからない場合`array_search()`は`false`を返すため、`0`と`===`比較しないよう注意が必要です。(参照: 独習PHP 第4版 第5章 組み込み関数 5.3.8〜5.3.9節 array_search/in_array関数 p.201〜202)