配列の値を検索 - 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) "サーバー"
配列の値と指定した値が一致した場合、その値の文字列インデックスキーを返します。指定した値と一致する配列の値が複数ある場合は、はじめに一致したインデックスキーを返します。
配列 の人気記事
まだデータがありません。