php数组查找函数in_array()、array_search()、array_key_exists()使用实例


Posted in PHP onApril 29, 2014

php在数组中查找指定值是否存在的方法有很多,记得很久以前我一直都是傻傻的用foreach循环来查找的,下面我主要分享一下用php内置的三个数组函数来查找指定值是否存在于数组中,这三个数组分别是 in_array(),array_search(),array_key_exists()。

首先分别介绍一下各自的定义与作用

in_array(value,array,type)

该函数的作用是在数组array中搜索指定的value值,type是可选参数,如果设置该参数为 true ,则检查搜索的数据与数组的值的类型是否相同,即恒等于。

示例:

<?php
$people = array("Peter", "Joe", "Glenn", "Cleveland");
if(in_array("Glenn",$people)){
  echo "Match found";
}else{
  echo "Match not found";
}
?>

输出:

Match found

array_key_exists(key,array)

该函数是判断某个数组array中是否存在指定的 key,如果该 key 存在,则返回 true,否则返回 false。

示例:

<?php
$a=array("a"=>"Dog","b"=>"Cat");
if(array_key_exists("a",$a)){
 echo "Key exists!";
}else{
 echo "Key does not exist!";
}
?>

输出:

Key exists!

array_search(value,array,strict)

array_search() 函数与 in_array() 一样,在数组中查找一个键值。如果找到了该值,则返回匹配该元素所对应的键名。如果没找到,则返回 false。注意在 PHP 4.2.0 之前,函数在失败时返回 null 而不是 false。同样如果第三个参数 strict 被指定为 true,则只有在数据类型和值都一致时才返回相应元素的键名。

示例:

<?php
$a=array("a"=>"Dog","b"=>"Cat","c"=>5,"d"=>"5");
echo array_search("Dog",$a);
echo array_search("5",$a);
?>

输出:

ad

经过实际性能对比,在数据量不大的时候,比如小于1000,查找用哪一种都行,都不会成为性能上的瓶颈。但当数据量比较大的时候,用 array_key_exists 比较合适。据测试 array_key_exist 要比 in_array 效率高十几甚至几十倍。

PHP 相关文章推荐
提高define性能的php扩展hidef的安装和使用
Jun 14 PHP
destoon供应信息title调用出公司名称的方法
Aug 22 PHP
PHP7.0版本备注
Jul 23 PHP
php实现的农历算法实例
Aug 11 PHP
ECSHOP在PHP5.5及高版本上报错的解决方法
Aug 31 PHP
SSO单点登录的PHP实现方法(Laravel框架)
Mar 23 PHP
PHP微信公众号自动发送红包API
Jun 01 PHP
laravel中的错误与日志用法详解
Jul 26 PHP
php实现图片以base64显示的方法
Oct 13 PHP
php并发加锁示例
Oct 17 PHP
PHP PDOStatement::fetchColumn讲解
Jan 31 PHP
laravel框架模型中非静态方法也能静态调用的原理分析
Nov 23 PHP
PHP的MVC模式实现原理分析(一相简单的MVC框架范例)
Apr 29 #PHP
php中使用getimagesize获取图片、flash等文件的尺寸信息实例
Apr 29 #PHP
PHP include任意文件或URL介绍
Apr 29 #PHP
php调用google接口生成二维码示例
Apr 28 #PHP
php将字符串转化成date存入数据库的两种方式
Apr 28 #PHP
php使用array_rand()函数从数组中随机选择一个或多个元素
Apr 28 #PHP
删除html标签得到纯文本可处理嵌套的标签
Apr 28 #PHP
You might like
PHP使用range协议实现输出文件断点续传代码实例
2014/07/04 PHP
PHP概率计算函数汇总
2015/09/13 PHP
laravel 使用auth编写登录的方法
2019/09/30 PHP
让网页根据不同IE版本显示不同的内容
2009/02/08 Javascript
将字符串转换成gb2312或者utf-8编码的参数(js版)
2013/04/10 Javascript
js获取select默认选中的Option并不是当前选中值
2014/05/07 Javascript
自定义百度分享的分享按钮
2015/03/18 Javascript
分享经典的JavaScript开发技巧
2015/11/21 Javascript
JS实现重新加载当前页面或者父页面的几种方法
2016/11/30 Javascript
jquery广告无缝轮播实例
2017/01/05 Javascript
ThinkPHP+jquery实现“加载更多”功能代码
2017/03/11 Javascript
nodejs和C语言插入mysql数据库乱码问题的解决方法
2017/04/14 NodeJs
JS实现获取汉字首字母拼音、全拼音及混拼音的方法
2017/11/14 Javascript
利用不到200行代码写一款属于你自己的js类库
2019/07/08 Javascript
JS实现页面跳转与刷新的方法汇总
2019/08/30 Javascript
vue 关闭浏览器窗口的时候,清空localStorage的数据示例
2019/11/06 Javascript
Vue watch响应数据实现方法解析
2020/07/10 Javascript
vue同个按钮控制展开和折叠同个事件操作
2020/07/29 Javascript
JS实现按比例缩小图片宽高
2020/08/24 Javascript
OpenLayers3实现对地图的基本操作
2020/09/28 Javascript
Array.filter中如何正确使用Async
2020/11/04 Javascript
[00:47]TI7不朽珍藏III——沙王不朽展示
2017/07/15 DOTA
Python 异常处理实例详解
2014/03/12 Python
Python脚本实现12306火车票查询系统
2016/09/30 Python
用 Python 爬了爬自己的微信朋友(实例讲解)
2017/08/25 Python
Python采集猫眼两万条数据 对《无名之辈》影评进行分析
2018/12/05 Python
Python实现计算文件MD5和SHA1的方法示例
2019/06/11 Python
自我评价个人范文
2013/12/16 职场文书
汽车专业人才自我鉴定范文
2013/12/29 职场文书
《颐和园》教学反思
2014/02/26 职场文书
社区精神文明建设汇报材料
2014/08/17 职场文书
科长个人四风问题整改措施思想汇报
2014/10/13 职场文书
工程质检员岗位职责
2015/04/08 职场文书
长辈生日祝福语大全(72句)
2019/08/09 职场文书
十大必看国产动漫排名,魁拔上线,第二曾在日本播出
2022/03/18 国漫
【DOTA2】当街暴打?PSG LGD vs VG - DPC 2022 WINTER TOUR CN
2022/04/02 DOTA