例
配列内のキー値「red」を検索し、そのキー名を返します:
<?php
$a=array("a"=>"red","b"=>"green","c"=>"blue");
echo array_search("red",$a);
?>
ログイン後にコピー
定義と使用法
array_search() 関数は、配列内のキー値を検索し、対応するキー名を返します。
構文
array_search(value,array,strict)
ログイン後にコピー
パラメータ | 説明 |
値 | 必須。配列内で検索するキー値を指定します。 |
配列 | は必須です。検索する配列を指定します。 |
厳密 | オプション。このパラメータが TRUE に設定されている場合、関数は配列内で同じデータ型と値を持つ要素を検索します。可能な値: true false - デフォルト- trueに設定すると、指定された値の型が配列内でチェックされ、数値5と
文字列 5は異なります(例2を参照)。 |
技術的な詳細
戻り値: 指定されたキー値が配列内で見つかった場合は、対応するキー名を返し、そうでない場合は FALSE を返します。配列内でキー値が複数回見つかった場合は、最初に見つかったキー値に一致するキー名が返されます。 | |
PHP バージョン: 4.0.5+ | |
更新ログ: 無効なパラメータが関数に渡された場合、関数は NULL を返します (これは PHP 5.3.0 以降のすべての PHP 関数に適用されます) )。 | PHP 4.2.0 以降、検索が失敗した場合、この関数は NULL ではなく FALSE を返します。
|
更多实例
实例 1
在数组中搜索键值 5,并返回它的键名(注意 ""):
<?php
$a=array("a"=>"5","b"=>5,"c"=>"5");
echo array_search(5,$a,true);
?>
ログイン後にコピー
但是array_search一般用到搜索一个数组中符合要求的第一个字符串。如果搜索的字符串在数组中含有多个,使用array_search的话,是 不行的。这时,我们使用array_keys()函数,实现搜索的字符串在数组中含有多个,
看一下如下例子:
$array = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'red');
$a=array_search( "blue",$array); //将输出$a=0;
$b=array_search( 'red',$array); //将只会输出$b=1;
$p = array_keys($array, 'red');//搜索的字符串在数组中含有多个
if(is_array($p)) {
foreach($p as $v) {
echo $val."出现在".$v . " ";
}
}else {
echo $val."出现在".array_search($val, $array)." ";
}
ログイン後にコピー
例二:
$array = array(4,5,7,8,9,10);
$found = array_search(8, $array); //调用array_search函数并输出查找结果
if($found){ //如果找到输出键
echo "已找到,键为".$found;
}else{ //如果没有找到输出错误信息
echo "没有找到";
}
ログイン後にコピー
下面我们来看看in_array函数
采用in_array(value,array,type)
type 可选。如果设置该参数为 true,则检查搜索的数据与数组的值的类型是否相同。
$arr = array('可以','如何','方法','知道','沒有','不要');
//in_array(value,array,type)
$isin = in_array("如何2",$arr);
if($isin){
echo "in====".$isin;
}else{
echo "out====".$isin;
}
ログイン後にコピー
以上がPHP の関数 array_search() は、配列内のキー値を検索し、対応するキー名を返します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
-
2023-03-15 16:54:01
-
2023-03-15 12:26:02
-
2023-03-14 18:58:01
-
2023-03-14 11:30:01
-
1970-01-01 08:00:00
-
2023-03-16 15:20:01
-
1970-01-01 08:00:00
-
1970-01-01 08:00:00
-
1970-01-01 08:00:00
-
1970-01-01 08:00:00