實例
在陣列中搜尋鍵值"red",並傳回它的鍵名:
<?php $a=array("a"=>"red","b"=>"green","c"=>"blue"); echo array_search("red",$a); ?>
定義與用法
array_search() 函數在陣列中搜尋某個鍵值,並傳回對應的鍵名。
語法
array_search(value,array,strict)
參數 | #描述 |
##必需。規定在數組中搜尋的鍵值。 | |
array | 必要。規定被搜尋的陣列。 |
strict | 可選。如果該參數被設定為 TRUE,則函數在陣列中搜尋資料類型和值都一致的元素。可能的值:
|
技術細節
# 傳回值: | 如果在陣列中找到指定的鍵值,則傳回對應的鍵名,否則傳回FALSE。如果在陣列中找到鍵值超過一次,則傳回第一次找到的鍵值所符合的鍵名。 |
PHP 版本: | 4.0.5+ |
#更新日誌: | 如果向函數傳遞無效的參數,函數會傳回NULL(這個適用於自PHP 5.3.0 起的所有的PHP 函數)。 自 PHP 4.2.0 起,如果搜尋失敗,函數傳回 FALSE,而不是 NULL。 |
更多实例
实例 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中文網其他相關文章!