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 相关文章推荐
php5 图片验证码实现代码
Dec 11 PHP
在VS2008中编译MYSQL5.1.48的方法
Jul 03 PHP
基于empty函数的判断详解
Jun 17 PHP
PHP微框架Dispatch简介
Jun 12 PHP
php自定文件保存session的方法
Dec 10 PHP
php类的扩展和继承用法实例
Jun 20 PHP
php制作简单模版引擎
Apr 07 PHP
PHP的mysqli_set_charset()函数讲解
Jan 23 PHP
基于PHP实现微信小程序客服消息功能
Aug 12 PHP
php常用经典函数集锦【数组、字符串、栈、队列、排序等】
Aug 23 PHP
Laravel统计一段时间间隔的数据方法
Oct 09 PHP
PHP7 错误处理机制修改
Mar 09 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读取文件内容的三种可行方法示例介绍
2014/02/08 PHP
PHP的AES加密算法完整实例
2016/07/20 PHP
php实现的redis缓存类定义与使用方法示例
2017/08/09 PHP
有趣的javascript数组定义方法
2010/09/10 Javascript
jquery 按钮状态效果 正常、移上、按下
2013/08/12 Javascript
js导出table数据到excel即导出为EXCEL文档的方法
2013/10/10 Javascript
jquery动态改变div宽度和高度
2015/02/09 Javascript
js实现动画特效的文字链接鼠标悬停提示的方法
2015/03/02 Javascript
JQuery分屏指示器图片轮换效果实例
2015/05/21 Javascript
浏览器中url存储的JavaScript实现
2015/07/07 Javascript
javascript中tostring()和valueof()的用法及两者的区别
2015/11/16 Javascript
canvas绘制环形进度条
2017/02/23 Javascript
JavaScript数据结构之广义表的定义与表示方法详解
2017/04/12 Javascript
vue 多入口文件搭建 vue多页面搭建的实例讲解
2018/03/12 Javascript
Vue全局分页组件的实现代码
2018/08/10 Javascript
vue项目前端埋点的实现
2019/03/06 Javascript
vue2.0自定义指令示例代码详解
2019/04/25 Javascript
Element-ui DatePicker显示周数的方法示例
2019/07/19 Javascript
webpack 如何同时输出压缩和未压缩的文件的实现步骤
2020/06/05 Javascript
浅析Python3爬虫登录模拟
2018/02/07 Python
python3.7将代码打包成exe程序并添加图标的方法
2019/10/11 Python
浅谈JupyterNotebook导出pdf解决中文的问题
2020/04/22 Python
Python调用百度OCR实现图片文字识别的示例代码
2020/07/17 Python
css3实现波纹特效、H5实现动态波浪效果
2018/01/31 HTML / CSS
CSS3,线性渐变(linear-gradient)的使用总结
2017/01/09 HTML / CSS
银行毕业实习自我鉴定
2013/09/19 职场文书
写演讲稿要注意的六件事
2014/01/14 职场文书
解除劳动合同协议书范本
2014/04/14 职场文书
小学生操行评语
2014/04/22 职场文书
趣味运动会策划方案
2014/06/02 职场文书
春游踏青活动方案
2014/08/14 职场文书
有关骆驼祥子的读书笔记
2015/06/26 职场文书
小学班主任培训心得体会
2016/01/07 职场文书
数据结构课程设计心得体会
2016/01/15 职场文书
《悬崖边的树》读后感2篇
2019/12/02 职场文书
mysql insert 存在即不插入语法说明
2022/03/25 MySQL