PHP配列要素の検索と検索

6327 ワード

in_Array()関数
in_array()関数は、配列の要約で特定の値を検索し、この値が見つかったらtrueを返します.そうでなければfalseを返します.形式は次のとおりです.
boolean in_array(mixed needle,array haystack[,boolean strict]);

 
次の例では、変数appleが配列に存在するかどうかを検索し、存在する場合は、情報を出力します.
$fruit = "apple";

$fruits = array("apple","banana","orange","pear");

if( in_array($fruit,$fruits) ) 

    echo "$fruit       ";

 
3番目のパラメータはオプションで、in_を強制します.array()は、検索時にタイプを考慮します.
array_key_exists()関数
配列に指定したキーが見つかった場合、関数array_key_exists()はtrueを返し、そうでなければfalseを返します.形式は次のとおりです.
boolean array_key_exists(mixed key,array array);

 
次の例では、配列キーでappleを検索し、見つかった場合、この果物の色を出力します.
$fruit["apple"] = "red";

$fruit["banana"] = "yellow";

$fruit["pear"] = "green";

if(array_key_exists("apple", $fruit)){

    printf("apple's color is %s",$fruit["apple"]);

}

 
このコードを実行した結果:
apple's color is red

 
array_search()関数
array_search()関数は、指定した値を配列で検索し、見つかったら対応するキーを返します.そうでなければfalseを返します.形式は次のとおりです.
mixed array_search(mixed needle,array haystack[,boolean strict])

 
次の例では、$fruitsで特定の日付(December 7)を検索し、見つかった場合、対応する州の関連情報を返します.
$fruits["apple"] = "red";

$fruits["banana"] = "yellow";

$fruits["watermelon"]="green";

$founded = array_search("green", $fruits);

if($founded) 

    printf("%s was founded on %s.",$founded, $fruits[$founded])

 
プログラムの実行結果は次のとおりです.
watermelon was founded on green.

 
array_keys()関数
array_keys()関数は、検索された配列で見つかったすべてのキーを含む配列を返します.形式は次のとおりです.
array array_keys(array array[,mixed search_value])

 
オプションパラメータsearch_が含まれている場合valueの場合、その値に一致するキーのみが返されます.次の例では、$fruit配列で見つかったすべての配列を出力します.
$fruits["apple"] = "red";

$fruits["banana"] = "yellow";

$fruits["watermelon"]="green";

$keys = array_keys($fruits);

print_r($keys);

 
プログラムの実行結果は次のとおりです.
Array ( [0] => apple [1] => banana [2] => watermelon )

 
array_values()関数
array_values()関数は、1つの配列のすべての値を返し、返された配列に数値インデックスを自動的に提供します.形式は次のとおりです.
 
array array_values(array array)

次の例では、$fruitsで見つかった要素の値を取得します.
$fruits["apple"] = "red";

$fruits["banana"] = "yellow";

$fruits["watermelon"]="green";

$values = array_values($fruits);

print_r($values);

 
プログラムの実行結果は次のとおりです.
Array ( [0] => red [1] => yellow [2] => green )