array_search-配列関数:検索してキー取得

array_search関数は配列から指定した値を検索し、見つかった場合に対応するキーを返す関数です。
以下にarray_search関数の使用例を示します。
//array_search (検索する値, 検索対象配列);

// ? //
$ar = array(0 => "PHP", 1 => "CGI", 2 => "JAVA");
echo array_search("PHP", $ar);

// ? //
$ar = array(0 => "PHP", 1 => "CGI", 2 => "JAVA");
echo array_search("php", $ar);
?では配列$ar中に"PHP"が存在するかどうか検索しています。配列$arに値"PHP"は存在するので、対応するキーが返されます。
したがって、値PHPのキー 0 がarray_search関数によって返されます。

?では配列$ar中に"php"が存在するかどうか検索しています。配列$arに値"php"は存在しないので、FALSEが返されます。

多次元配列を指定した時の動作:array_search関数

引数に多次元配列を指定しても、1次元目の配列の値のみが検索範囲となります。したがって以下のように配列に$ar、検索値"PHP"を指定して検索してもFALSEが返されます。 以下の場合で値"PHP"のキーを取得する為には、?のように検索対象配列に $ar[0] と指定する必要があります。
$ar = array(array(0 => "PHP", 1 => "CGI"), 2 => "JAVA");
echo array_search("PHP", $ar); //FALSEを返す

// ? //
$ar = array(array(0 => "PHP", 1 => "CGI"), 2 => "JAVA");
echo array_search("PHP", $ar[0]); // キー0を返す