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.MVC的模板标签系统(五)
Sep 05 PHP
新版PHP极大的增强功能和性能
Oct 09 PHP
获得Google PR值的PHP代码
Jan 28 PHP
PHP备份数据库生成SQL文件并下载的函数代码
Feb 05 PHP
PHPMailer邮件发送的实现代码
May 04 PHP
PHP比你想象的好得多
Nov 27 PHP
WebQQ最新登陆协议的用法
Dec 22 PHP
php获取本周星期一具体日期的方法
Apr 20 PHP
PHP数组函数array_multisort()用法实例分析
Apr 02 PHP
浅析Yii2 GridView实现下拉搜索教程
Apr 22 PHP
curl 出现错误的调试方法(必看)
Feb 13 PHP
PHP内置函数生成随机数实例
Jan 18 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获取路径和目录的方法总结【必看篇】
2017/03/04 PHP
兼容ie和firefox js关闭代码
2008/12/11 Javascript
JavaScript作用域与作用域链深入解析
2013/12/06 Javascript
js控制input输入字符解析
2013/12/27 Javascript
利用浏览器全屏api实现js全屏
2014/01/16 Javascript
nodejs中实现sleep功能实例
2015/03/24 NodeJs
javascript字符串循环匹配实例分析
2015/07/17 Javascript
jQuery实现批量判断表单中文本框非空的方法(2种方法)
2015/12/09 Javascript
BootStrap.css 在手机端滑动时右侧出现空白的原因及解决办法
2016/06/07 Javascript
JS检测页面中哪个HTML标签触发点击事件的方法
2016/06/17 Javascript
jQuery插件EasyUI设置datagrid的checkbox为禁用状态的方法
2016/08/05 Javascript
微信小程序 实战小程序实例
2016/10/08 Javascript
vue完成项目后,打包成静态文件的方法
2018/09/03 Javascript
详解JSON和JSONP劫持以及解决方法
2019/03/08 Javascript
Vue的编码技巧与规范使用详解
2019/08/28 Javascript
Python 匹配任意字符(包括换行符)的正则表达式写法
2009/10/29 Python
Python中用PIL库批量给图片加上序号的教程
2015/05/06 Python
使用Python的urllib和urllib2模块制作爬虫的实例教程
2016/01/20 Python
python实现多线程抓取知乎用户
2016/12/12 Python
Python2.7+pytesser实现简单验证码的识别方法
2017/12/29 Python
在python 中实现运行多条shell命令
2019/01/07 Python
在Python 中实现图片加框和加字的方法
2019/01/26 Python
python路径的写法及目录的获取方式
2019/12/26 Python
python计算Content-MD5并获取文件的Content-MD5值方式
2020/04/03 Python
Tensorflow实现将标签变为one-hot形式
2020/05/22 Python
python数据类型强制转换实例详解
2020/06/22 Python
python实现画图工具
2020/08/27 Python
下面代码从性能上考虑,有什么问题
2015/04/03 面试题
个人职业生涯规划书1500字
2013/12/31 职场文书
办理退休介绍信
2014/01/09 职场文书
破坏寝室公物检讨书
2014/11/17 职场文书
小学教师岗位职责
2015/04/02 职场文书
中标通知书格式
2015/04/17 职场文书
观看焦裕禄观后感
2015/06/09 职场文书
写一个Python脚本下载哔哩哔哩舞蹈区的所有视频
2021/05/31 Python
《艾尔登法环》发布最新「战技」宣传片
2022/04/03 其他游戏