php 搜索數(shù)組字符串我們一般會用到array_search和in_array兩個函數(shù)
array_search() 函數(shù)與 in_array() 一樣,在數(shù)組中查找一個鍵值。如果找到了該值,匹配元素的鍵名會被返回。如果沒找到,則返回 false。
但是array_search一般用到搜索一個數(shù)組中符合要求的第一個字符串。如果搜索的字符串在數(shù)組中含有多個,使用array_search的話,是 不行的。這時,我們使用array_keys()函數(shù),實現(xiàn)搜索的字符串在數(shù)組中含有多個,
看一下如下例子:
$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');//搜索的字符串在數(shù)組中含有多個
if(is_array($p)) {
foreach($p as $v) {
echo $val."出現(xiàn)在".$v . " ";
}
}else {
echo $val."出現(xiàn)在".array_search($val, $array)." ";
}
例二:
$array = array(4,5,7,8,9,10);
$found = array_search(8, $array); //調(diào)用array_search函數(shù)并輸出查找結(jié)果
if($found){ //如果找到輸出鍵
echo "已找到,鍵為".$found;
}else{ //如果沒有找到輸出錯誤信息
echo "沒有找到";
}
下面我們來看看in_array函數(shù)
采用in_array(value,array,type)
type 可選。如果設(shè)置該參數(shù)為 true,則檢查搜索的數(shù)據(jù)與數(shù)組的值的類型是否相同。
$arr = array('可以','如何','方法','知道','沒有','不要');
//in_array(value,array,type)
$isin = in_array("如何2",$arr);
if($isin){
echo "in====".$isin;
}else{
echo "out====".$isin;
}
以上就是本文的全部內(nèi)容了,希望大家能夠喜歡