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; }
以上就是本文的全部內容了,希望大家能夠喜歡