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