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 伪静态隐藏传递参数名的四种方法
Feb 22 PHP
PHP 加密解密内部算法
Apr 22 PHP
PHP中调用ASP.NET的WebService的代码
Apr 22 PHP
解析php中如何直接执行SHELL
Jun 28 PHP
Linux下手动编译安装PHP扩展的例子分享
Jul 15 PHP
php备份数据库类分享
Apr 14 PHP
PHP统计目录中文件以及目录中目录大小的方法
Jan 09 PHP
初识PHP中的Swoole
Apr 05 PHP
微信支付开发交易通知实例
Jul 12 PHP
laravel实现分页样式替换示例代码(增加首、尾页)
Sep 22 PHP
laravel获取不到session的三种解决办法【推荐】
Sep 16 PHP
PHP中__set()实例用法和基础讲解
Jul 23 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 远程关机操作的代码
2008/12/05 PHP
php全排列递归算法代码
2012/10/09 PHP
PHP数据库链接类(PDO+Access)实例分享
2013/12/05 PHP
PHP使用CURL模拟登录的方法
2015/07/08 PHP
php正则表达式获取内容所有链接
2015/07/24 PHP
PHP MySql增删改查的简单实例
2016/06/21 PHP
PHP实现分布式memcache设置web集群session同步的方法
2018/04/10 PHP
PHP封装mysqli基于面向对象的mysql数据库操作类与用法示例
2019/02/25 PHP
js中一维数组和二位数组中的几个问题示例说明
2014/07/17 Javascript
js获取url传值的方法
2015/12/18 Javascript
EasyUI闪屏EasyUI页面加载提示(原理+代码+效果图)
2016/02/21 Javascript
jQuery中on绑定事件后引发的事件冒泡问题如何解决
2016/05/25 Javascript
Centos7 中安装 Node.js v4.4.4
2016/11/03 Javascript
利用PM2部署node.js项目的方法教程
2017/05/10 Javascript
swiper 解决动态加载数据滑动失效的问题
2018/02/26 Javascript
vue-cli 打包使用history模式的后端配置实例
2018/09/20 Javascript
python 读写中文json的实例详解
2017/10/29 Python
Python实现PS图像调整颜色梯度效果示例
2018/01/25 Python
Python将一个Excel拆分为多个Excel
2018/11/07 Python
浅谈Python反射 &amp; 单例模式
2019/03/21 Python
Python对HTML转义字符进行反转义的实现方法
2019/04/28 Python
python导包的几种方法(自定义包的生成以及导入详解)
2019/07/15 Python
美体小铺英国官网:The Body Shop英国
2017/01/24 全球购物
南京某公司笔试题
2013/01/27 面试题
军训自我鉴定200字
2014/02/13 职场文书
竞选班长的演讲稿
2014/04/24 职场文书
汽车销售经理岗位职责
2014/06/09 职场文书
做人民满意的公务员活动方案
2014/08/25 职场文书
小学班级特色活动方案
2014/08/31 职场文书
八一建军节营销活动方案
2014/08/31 职场文书
2015年餐厅服务员工作总结
2015/04/23 职场文书
从严治党主题教育活动总结
2015/05/07 职场文书
收入证明怎么写
2015/06/12 职场文书
三严三实·严以修身心得体会
2016/01/15 职场文书
Redis如何一键部署脚本
2021/04/12 Redis
CKAD认证中部署k8s并配置Calico插件
2022/03/31 Servers