php 数组字符串搜索array_search技巧
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($pas$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; }
以上就是本文的全部内容了,希望大家能够喜欢