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数组函数序列之asort() - 对数组的元素值进行升序排序,保持索引关系
Nov 02 PHP
PHP数据类型的总结分析
Jun 13 PHP
PHP和javascript常用正则表达式及用法实例
Jul 01 PHP
PHP中使用imagick生成PSD文件缩略图教程
Jan 26 PHP
以文件形式缓存php变量的方法
Jun 26 PHP
PHP利用APC模块实现大文件上传进度条的方法
Oct 29 PHP
PHP调用存储过程返回值不一致问题的解决方法分析
Apr 26 PHP
zen_cart实现支付前生成订单的方法
May 06 PHP
yii2分页之实现跳转到具体某页的实例代码
Jun 02 PHP
Thinkphp框架中D方法与M方法的区别
Dec 23 PHP
PHP 实现浏览记录并按日期分组
May 11 PHP
PHP如何搭建百度Ueditor富文本编辑器
Sep 21 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
无线电的诞生过程
2021/03/01 无线电
PHP个人网站架设连环讲(四)
2006/10/09 PHP
php操作JSON格式数据的实现代码
2011/12/24 PHP
自编函数解决pathinfo()函数处理中文问题
2014/11/03 PHP
原生js 秒表实现代码
2012/07/24 Javascript
js事件冒泡实例分享(已测试)
2013/04/23 Javascript
文字溢出实现溢出的部分再放入一个新生成的div中具体代码
2013/05/17 Javascript
JavaScript移除数组元素减少长度的方法
2013/09/05 Javascript
iframe里使用JavaScript控制主页转向的方法
2015/04/03 Javascript
node.js下LDAP查询实例分享
2015/09/30 Javascript
2016年最热门的15 款代码语法高亮工具,美化你的代码
2016/01/06 Javascript
基于javascript实现全国省市二级联动下拉选择菜单
2016/01/28 Javascript
Java框架SSH结合Easyui控件实现省市县三级联动示例解析
2016/06/12 Javascript
jQuery事件绑定用法详解
2016/09/08 Javascript
JS 动态加载js文件和css文件 同步/异步的两种简单方式
2016/09/23 Javascript
jQuery实现简易的输入框字数计数功能示例
2017/01/16 Javascript
简单学习5种处理Vue.js异常的方法
2019/06/17 Javascript
Node在Controller层进行数据校验的过程详解
2020/08/28 Javascript
解决vue项目运行npm run serve报错的问题
2020/10/26 Javascript
Python实现把json格式转换成文本或sql文件
2015/07/10 Python
Python语言的变量认识及操作方法
2018/02/11 Python
Python管理Windows服务小脚本
2018/03/12 Python
Python Pandas中根据列的值选取多行数据
2019/07/08 Python
Python Dataframe常见索引方式详解
2020/05/27 Python
利用CSS3实现炫酷的飞机起飞动画
2016/09/17 HTML / CSS
使用HTML5的File实现base64和图片的互转
2013/08/01 HTML / CSS
详解h5页面在不同ios设备上的问题总结
2019/03/01 HTML / CSS
软件测试有哪些?什么是配置项?
2012/02/12 面试题
祖国在我心中演讲稿600字
2014/05/04 职场文书
小学生个人先进事迹材料
2014/05/08 职场文书
七夕活动策划方案
2014/08/16 职场文书
行政处罚听证告知书
2015/07/01 职场文书
PL350与SW11的比较
2021/04/22 无线电
使用PostGIS完成两点间的河流轨迹及流经长度的计算(推荐)
2022/01/18 PostgreSQL
抖音动画片,皮皮虾,《治愈系》动画在用这首REMIX作为背景音乐,Anak ,The last world with you完整版
2022/03/16 杂记
zabbix配置nginx监控的实现
2022/05/25 Servers