php 搜索數組字符串我們一般會用到array_search和in_array兩個函數
array_search() 函數與 in_array() 一樣,在數組中查找一個鍵值。如果找到了該值,匹配元素的鍵名會被返回。如果沒找到,則返回 false。
但是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;
}
以上就是本文的全部內容了,希望大家能夠喜歡