配列の値を検索 - array_search関数
当ページのリンクには広告が含まれています。
プログラミング言語PHPで、配列の値を検索する関数 array_search()を紹介します。
array_search()
mixed array_search ( mixed $needle , array $haystack [, bool $strict = false ] )
指定した値を配列の値から検索します。
引数 $needle 検索する値を指定します。大文字と小文字は区別されます。 $haystack 値を検索する配列を指定します。 $strict trueを指定した場合、配列の値と検索する値の型が一致するかをまで比較します。
返り値 検索する値が見つかった場合は値のインデックスキーを、 その他の場合falseを返します。
サンプルコード - 配列
配列から指定した値(ここでは、大文字のPHP)を検索するサンプルコードです。
array_search( 検索する値, 配列 );
<?php echo "# 大文字と小文字\n"; $a = array("PHP", "リファレンス", "テスト", "PHP"); print_r($a); var_dump(array_search("PHP", $a)); var_dump(array_search("php", $a)); echo "\n"; echo "# 一致する値が複数\n"; $b = array("リファレンス", "PHP", "テスト", "PHP"); print_r($b); var_dump(array_search("PHP", $b)); ?>
実行結果です。
# 大文字と小文字 Array ( [0] => PHP [1] => リファレンス [2] => テスト [3] => PHP ) int(0) bool(false) # 一致する値が複数 Array ( [0] => PHP [1] => リファレンス [2] => テスト [3] => PHP ) int(1)
配列の値と指定した値が一致した場合、その値の整数インデックスキーを返します。一致しない場合は、falseを返します。指定した値と一致する配列の値が複数ある場合は、はじめに一致したインデックスキーを返します。
サンプルコード - 連想配列
次は連想配列の値を検索してみましょう。
array_search( 検索する値, 配列 );
<?php echo "# 連想配列の値を検索\n"; $c = array("PHP" => "入門", "C言" => "語", "サーバー" => "比較"); print_r($c); var_dump(array_search("比較", $c)); echo "\n"; echo "# 連想配列の値が重複\n"; $d = array("PHP" => "入門", "サーバー" => "比較", "C言" => "語", "VPS" => "比較"); print_r($d); var_dump(array_search("比較", $d)); ?>
実行結果です。
# 連想配列の値を検索 Array ( [PHP] => 入門 [C言] => 語 [サーバー] => 比較 ) string(12) "サーバー" # 連想配列の値が重複 Array ( [PHP] => 入門 [サーバー] => 比較 [C言] => 語 [VPS] => 比較 ) string(12) "サーバー"
配列の値と指定した値が一致した場合、その値の文字列インデックスキーを返します。指定した値と一致する配列の値が複数ある場合は、はじめに一致したインデックスキーを返します。