PHPで特定の要素が配列に含まれているかの判定を行う関数には主にarray_search
,in_array
がありますが、戻り値の型が異なるので注意が必要です。
array_search
基本構文
array_search(検索する値, 検索対象の配列, 型の比較を行うか)
第三引数にtrueを指定すると型の比較も行います。この引数に関しては省略可能です。
使い方
$array = ['aaa', 'bbb', 'ccc']; $result = array_search('aaa', $array); var_dump($result); // 0 $result = array_search('abc', $array); var_dump($result); // bool(false)
この関数を使用した場合の戻り値は、
検索する値が配列にある場合:最初の値のインデックスキー
検索する値が配列にある場合:bool(false)
となります。
検索する値が配列にある場合はbool(true)ではなく、最初の値のインデックスキーが返されます。
in_array
基本構文
in_array(検索する値, 検索対象の配列, 型の比較を行うか)
第三引数にtrueを指定すると型の比較も行います。この引数に関しては省略可能です。
使い方
$array = ['aaa', 'bbb', 'ccc']; $result1 = in_array('aaa', $array); var_dump($result1); // bool(true) $result2 = in_array('abc', $array); var_dump($result2); // bool(false)
この関数を使用した場合の戻り値は、
検索する値が配列にある場合:bool(true)
検索する値が配列にある場合:bool(false)
となります。