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 相关文章推荐
PHP 代码规范小结
Mar 08 PHP
php实现多张图片上传加水印技巧
Apr 18 PHP
解决php接收shell返回的结果中文乱码问题
Jan 23 PHP
PHP生成迅雷、快车、旋风等软件的下载链接代码实例
May 12 PHP
PHP中substr()与explode()函数用法分析
Nov 24 PHP
ThinkPHP模版中导入CSS和JS文件的方法
Nov 29 PHP
PHP实现C#山寨ArrayList的方法
Jul 16 PHP
thinkphp表单上传文件并将文件路径保存到数据库中
Jul 28 PHP
Yii2中hasOne、hasMany及多对多关联查询的用法详解
Feb 15 PHP
详解php协程知识点
Sep 21 PHP
Laravel框架验证码类用法实例分析
Sep 11 PHP
php5.3/5.4/5.5/5.6/7常见新增特性汇总整理
Feb 27 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
极典R601SW收音机
2021/03/02 无线电
用PHP生成静态HTML速度快类库
2007/03/18 PHP
在PHP程序中使用Rust扩展的方法
2015/07/03 PHP
phpMyAdmin安装并配置允许空密码登录
2015/07/04 PHP
Yii2 中实现单点登录的方法
2018/03/09 PHP
PHP观察者模式定义与用法实例分析
2019/03/22 PHP
在浏览器中获取当前执行的脚本文件名的代码
2011/07/19 Javascript
jQuery浏览器CSS3特写兼容实例
2015/01/19 Javascript
JavaScript中的some()方法使用详解
2015/06/09 Javascript
JQuery工具函数汇总
2015/06/15 Javascript
详解JavaScript跨域总结与解决办法
2016/10/31 Javascript
js滚轮事件兼容性问题需要注意哪些
2016/11/15 Javascript
js实现网页的两个input标签内的数值加减(示例代码)
2017/08/15 Javascript
js读取本地文件的实例
2017/12/22 Javascript
vue实现的请求服务器端API接口示例
2019/05/25 Javascript
layui输入框只允许输入中文且判断长度的例子
2019/09/18 Javascript
vue键盘事件点击事件加native操作
2020/07/27 Javascript
python 与GO中操作slice,list的方式实例代码
2017/03/20 Python
hmac模块生成加入了密钥的消息摘要详解
2018/01/11 Python
解决Tensorflow安装成功,但在导入时报错的问题
2018/06/13 Python
python中的turtle库函数简单使用教程
2018/07/23 Python
python删除文件夹下相同文件和无法打开的图片
2019/07/16 Python
xadmin使用formfield_for_dbfield函数过滤下拉表单实例
2020/04/07 Python
Python drop方法删除列之inplace参数实例
2020/06/27 Python
idea2020手动安装python插件的实现方法
2020/07/17 Python
html5本地存储_动力节点Java学院整理
2017/07/12 HTML / CSS
报关简历自我评价怎么写
2013/09/19 职场文书
夏季奶茶店创业计划书
2014/01/16 职场文书
2014年大学生自我评价
2014/01/19 职场文书
生物制药自我鉴定
2014/01/25 职场文书
乔布斯斯坦福大学演讲稿
2014/05/23 职场文书
会计学专业自荐信
2014/06/25 职场文书
党支部三严三实对照检查材料思想汇报
2014/09/29 职场文书
结婚仪式主持词
2015/06/29 职场文书
我的中国梦主题班会
2015/08/14 职场文书
2019如何书写演讲稿?
2019/07/01 职场文书