找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1153|回复: 0
打印 上一主题 下一主题

php 数组字符串搜索array_search技巧

[复制链接]

2560

主题

2560

帖子

7622

积分

论坛元老

Rank: 8Rank: 8

积分
7622
跳转到指定楼层
楼主
发表于 2018-2-14 05:34:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

            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;
}
以上就是本文的全部内容了,希望大家能够喜欢
            
            
您可能感兴趣的文章:
  • php in_array 函数使用说明与in_array需要注意的地方说明
  • php数组函数序列之in_array() 查找数组值是否存在
  • php数组函数序列之array_search()- 按元素值返回键名
  • php数组函数序列之in_array() - 查找数组中是否存在指定值
  • php数组查找函数in_array()、array_search()、array_key_exists()使用实例
  • PHP函数in_array()使用详解
  • php中使用in_array() foreach array_search() 查找数组是否包含时的性能对比
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端