php 搜索数组字符串我们一般会用到array_search和in_array两个函数
array_search()
函数与 in_array()
一样,在数组中查找一个键值。如果找到了该值,匹配元素的键名会被返回。如果没找到,则返回 false。
但是array_search一般用到搜索一个数组中符合要求的第一个字符串。如果搜索的字符串在数组中含有多个,使用array_search的话,是 不行的。这时,我们使用array_keys()函数,实现搜索的字符串在数组中含有多个,
看一下如下例子:
1
2
3
4
5
6
7
8
9
10
11
|
$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 ). " " ;
}
|
例二:
1
2
3
4
5
6
7
|
$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,则检查搜索的数据与数组的值的类型是否相同。
1
2
3
4
5
6
7
8
|
$arr = array ( '可以' , '如何' , '方法' , '知道' , '沒有' , '不要' );
//in_array(value,array,type)
$isin = in_array( "如何2" , $arr );
if ( $isin ){
echo "in====" . $isin ;
} else {
echo "out====" . $isin ;
}
|
以上就是本文的全部内容了,希望大家能够喜欢