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 相关文章推荐
图形数字验证代码
Oct 09 PHP
windows下升级PHP到5.3.3的过程及注意事项
Oct 12 PHP
PHP读取ACCESS数据到MYSQL的代码
May 11 PHP
PHP网站备份程序代码分享
Jun 10 PHP
PHP中return 和 exit 、break和contiue 区别与用法
Apr 09 PHP
介绍一些PHP判断变量的函数
Apr 24 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(九)
Jun 24 PHP
php树型类实例
Dec 05 PHP
php删除文本文件中重复行的方法
Apr 28 PHP
php中JSON的使用方法
Apr 30 PHP
浅谈php中变量的数据类型判断函数
Mar 04 PHP
PHP html_entity_decode()函数讲解
Feb 25 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微信开发之二维码生成类
2015/06/26 PHP
thinkphp表单上传文件并将文件路径保存到数据库中
2016/07/28 PHP
PHP实现的简单AES加密解密算法实例
2017/05/29 PHP
PHP7 弃用功能
2021/03/09 PHP
js form action动态修改方法
2008/11/04 Javascript
封装html的select标签的js操作实例
2013/07/02 Javascript
js实现文本框只允许输入数字并限制数字大小的方法
2015/08/19 Javascript
jQuery之简单的表单验证实例
2016/07/07 Javascript
js实现图片缓慢放大缩小效果
2016/08/02 Javascript
Javascript 普通函数和构造函数的区别
2016/11/05 Javascript
vue translate peoject实现在线翻译功能【新手必看】
2018/06/07 Javascript
vue引入微信sdk 实现分享朋友圈获取地理位置功能
2019/07/04 Javascript
vue2.0 watch里面的 deep和immediate用法说明
2020/10/30 Javascript
python del()函数用法
2013/03/24 Python
python实现监控linux性能及进程消耗性能的方法
2014/07/25 Python
跟老齐学Python之传说中的函数编写条规
2014/10/11 Python
Python使用pymysql小技巧
2017/06/04 Python
python中Pycharm 输出中文或打印中文乱码现象的解决办法
2017/06/16 Python
Python 中的参数传递、返回值、浅拷贝、深拷贝
2019/06/25 Python
python如何实现从视频中提取每秒图片
2020/10/22 Python
Python Django 添加首页尾页上一页下一页代码实例
2019/08/21 Python
tensorflow实现tensor中满足某一条件的数值取出组成新的tensor
2020/01/04 Python
Python telnet登陆功能实现代码
2020/04/16 Python
jupyter notebook oepncv 显示一张图像的实现
2020/04/24 Python
Python基于unittest实现测试用例执行
2020/11/25 Python
Mavi牛仔裤美国官网:土耳其著名牛仔品牌
2016/09/24 全球购物
公司新员工的演讲稿注意事项
2014/01/01 职场文书
校园达人秀策划书
2014/01/12 职场文书
12岁生日感言
2014/01/21 职场文书
工作疏忽检讨书
2014/01/25 职场文书
安卓程序员求职信
2014/02/28 职场文书
安全生产月活动总结
2014/05/04 职场文书
学习党的群众路线对照检查材料
2014/09/29 职场文书
2016党员干部廉洁自律心得体会
2016/01/13 职场文书
苹果M1芯片安装nginx 并且部署vue项目步骤详解
2021/11/20 Servers
Win11快速关闭所有广告推荐
2022/04/19 数码科技