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中动态显示签名和ip原理
Mar 28 PHP
PHP无敌近乎加密方式!
Jul 17 PHP
深入解析php中的foreach函数
Aug 31 PHP
百度ping方法使用示例 自动ping百度
Jan 26 PHP
php发送邮件的问题详解
Jun 22 PHP
PHP实现的字符串匹配算法示例【sunday算法】
Dec 19 PHP
php curl简单采集图片生成base64编码(并附curl函数参数说明)
Feb 15 PHP
laravel框架创建授权策略实例分析
Nov 22 PHP
PHP使用PDO实现mysql防注入功能详解
Dec 20 PHP
PHP7创建COOKIE和销毁COOKIE的实例方法
Feb 03 PHP
Thinkphp 框架扩展之Widget扩展实现方法分析
Apr 23 PHP
Laravel登录失败次数限制的实现方法
Aug 26 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
受疫情影响 动画《Re从零开始的异世界生活》第二季延期至7月
2020/03/10 日漫
php fsockopen中多线程问题的解决办法[翻译]
2011/11/09 PHP
mysql,mysqli,PDO的各自不同介绍
2012/09/19 PHP
如何使用php等比例缩放图片
2016/10/12 PHP
针对PHP开发安全问题的相关总结
2019/03/22 PHP
使用Entrust扩展包在laravel 中实现RBAC的功能
2020/03/16 PHP
Apply an AutoFormat to an Excel Spreadsheet
2007/06/12 Javascript
js获取单元格自定义属性值的代码(IE/Firefox)
2010/04/05 Javascript
jquery的extend和fn.extend的使用说明
2011/01/09 Javascript
js DOM 元素ID就是全局变量
2012/09/20 Javascript
基于Jquery+Ajax+Json实现分页显示附效果图
2014/07/30 Javascript
基于jQuery实现网页打印功能
2015/12/01 Javascript
json传值以及ajax接收详解
2016/05/24 Javascript
JavaScript实现Fly Bird小游戏
2016/12/15 Javascript
详解从Vue.js源码看异步更新DOM策略及nextTick
2017/10/11 Javascript
JavaScript实现创建自定义对象的常用方式总结
2018/07/09 Javascript
一步一步的了解webpack4的splitChunk插件(小结)
2018/09/17 Javascript
js实现动态增加文件域表单功能
2018/10/22 Javascript
vue 项目接口管理的实现
2019/01/17 Javascript
vue 源码解析之虚拟Dom-render
2019/08/26 Javascript
js回调函数仿360开机
2019/12/26 Javascript
Openlayers实现扩散的动态点(水纹效果)
2020/08/17 Javascript
[00:52]DOTA2第二届亚洲邀请赛预选赛宣传片
2017/01/13 DOTA
python读取word文档的方法
2015/05/09 Python
pycharm执行python时,填写参数的方法
2018/10/29 Python
在tensorflow中实现屏蔽输出的log信息
2020/02/04 Python
洲际酒店集团美国官网:IHG美国
2017/11/16 全球购物
初中化学教学反思
2014/01/23 职场文书
最新奶茶店创业计划书
2014/01/25 职场文书
2014年信用社工作总结
2014/11/25 职场文书
语文教师求职信范文
2015/03/20 职场文书
于丹论语心得观后感
2015/06/15 职场文书
2016年师德先进个人事迹材料
2016/02/29 职场文书
2016年小学“我们的节日·中秋节”活动总结
2016/04/05 职场文书
mysql使用FIND_IN_SET和group_concat两个方法查询上下级机构
2022/04/20 MySQL
Python实现将多张图片合成MP4视频并加入背景音乐
2022/04/28 Python