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(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)."";
}