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中使用模板的方法
May 24 PHP
php 中文和编码判断代码
May 16 PHP
php whois查询API制作方法
Jun 23 PHP
使用PHPMyAdmin修复论坛数据库的图文方法
Jan 09 PHP
PHP系列学习之日期函数使用介绍
Aug 18 PHP
深入php define()函数以及defined()函数的用法详解
Jun 05 PHP
php版微信开发Token验证失败或请求URL超时问题的解决方法
Sep 23 PHP
PHP实现实时生成并下载超大数据量的EXCEL文件详解
Oct 23 PHP
Thinkphp5行为使用方法汇总
Dec 21 PHP
详解laravel passport OAuth2.0的4种模式
Nov 04 PHP
thinkphp5.1框架模板赋值与变量输出示例
May 25 PHP
PHP语言对接抖音快手小红书视频/图片去水印API接口源码
Aug 11 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设计模式 Chain Of Responsibility (职责链模式)
2011/06/26 PHP
ThinkPHP3.1新特性之查询条件预处理简介
2014/06/19 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十)
2014/06/24 PHP
PHP实现的简易版图片相似度比较
2015/01/07 PHP
php实现按天数、星期、月份查询的搜索框
2016/05/02 PHP
javascript 处理HTML元素必须避免使用的一种方法
2009/07/30 Javascript
奉献给JavaScript初学者的编写开发的七个细节
2011/01/11 Javascript
JavaScript中的运算符种类及其规则介绍
2013/09/26 Javascript
在页面中js获取光标/鼠标的坐标及光标的像素坐标
2013/11/11 Javascript
javascript实现动态侧边栏代码
2014/02/19 Javascript
Javascript中的Array数组对象详谈
2014/03/03 Javascript
jQuery标签编辑插件Tagit使用指南
2015/04/21 Javascript
jQuery切换所有复选框选中状态的方法
2015/07/02 Javascript
JavaScript根据CSS的Media Queries来判断浏览设备的方法
2016/05/10 Javascript
bootstrap table使用入门基本用法
2017/05/24 Javascript
Javascript中this关键字指向问题的测试与详解
2017/08/11 Javascript
javascript 产生随机数的几种方法总结
2017/09/26 Javascript
JS实现非首屏图片延迟加载的示例
2018/01/06 Javascript
vue初尝试--项目结构(推荐)
2018/01/30 Javascript
关于vue v-for 循环问题(一行显示四个,每一行的最右边那个计算属性)
2018/09/04 Javascript
小程序实现左滑删除效果
2019/07/25 Javascript
js 下拉菜单点击旁边收起实现(踩坑记)
2019/09/29 Javascript
jquery 键盘事件 keypress() keydown() keyup()用法总结
2019/10/23 jQuery
vue element-ui读取pdf文件的方法
2019/11/26 Javascript
解决vue-loader加载不上的问题
2020/10/21 Javascript
[06:20]2015国际邀请赛第三日top10
2015/08/08 DOTA
python安装教程 Pycharm安装详细教程
2017/05/02 Python
python监控文件并且发送告警邮件
2018/06/21 Python
django将数组传递给前台模板的方法
2019/08/06 Python
阿迪达斯墨西哥官方网站:adidas墨西哥
2017/11/03 全球购物
护理专业推荐信
2013/11/07 职场文书
教师自我鉴定范文
2014/03/20 职场文书
充分就业社区汇报材料
2014/05/07 职场文书
王力宏牛津大学演讲稿
2014/05/22 职场文书
中秋节国旗下演讲稿
2014/09/13 职场文书
个人业务学习心得体会
2016/01/25 职场文书