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对字符串的递增运算分析
Aug 08 PHP
jQuery中的RadioButton,input,CheckBox取值赋值实现代码
Feb 18 PHP
PHP获取客户端真实IP地址的5种情况分析和实现代码
Jul 08 PHP
PHP实现将视频转成MP4并获取视频预览图的方法
Mar 12 PHP
深入浅析php json 格式控制
Dec 24 PHP
PHP利用正则表达式将相对路径转成绝对路径的方法示例
Feb 28 PHP
ThinkPHP实现分页功能
Apr 28 PHP
PHP获取数组中指定的一列实例
Dec 27 PHP
使用PHP访问RabbitMQ消息队列的方法示例
Jun 06 PHP
Laravel框架验证码类用法实例分析
Sep 11 PHP
thinkphp5框架前后端分离项目实现分页功能的方法分析
Oct 08 PHP
gearman中worker常驻后台,导致MySQL server has gone away的解决方法
Feb 27 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 checkbox 取值详细说明
2010/08/19 PHP
PHP 事件机制(2)
2011/03/23 PHP
php算法实例分享
2015/07/14 PHP
PHP7.0安装笔记整理
2015/08/28 PHP
详解WordPress中用于更新和获取用户选项数据的PHP函数
2016/03/08 PHP
[全兼容哦]--实用、简洁、炫酷的页面转入效果loing
2007/05/07 Javascript
用JavaScript计算在UTF-8下存储字符串占用字节数
2013/08/08 Javascript
jQuery图片轮播的具体实现
2013/09/11 Javascript
JavaScript打印网页指定区域的例子
2014/05/03 Javascript
显示今天的日期js代码(阳历和农历)
2014/09/30 Javascript
Javascript字符串浏览器兼容问题分析
2014/12/01 Javascript
JavaScript+html5 canvas制作的圆中圆效果实例
2016/01/27 Javascript
Bootstrap实现带动画过渡的弹出框
2016/08/09 Javascript
JS简单去除数组中重复项的方法
2016/09/13 Javascript
用jQuery实现优酷首页轮播图
2017/01/09 Javascript
详解vuejs几种不同组件(页面)间传值的方式
2017/06/01 Javascript
微信小程序使用toast消息对话框提示用户忘记输入用户名或密码功能【附源码下载】
2017/12/09 Javascript
JavaScript怎样在删除前添加确认弹出框?
2019/05/27 Javascript
用Python的Django框架编写从Google Adsense中获得报表的应用
2015/04/17 Python
Python多进程fork()函数详解
2019/02/22 Python
Python字典生成式、集合生成式、生成器用法实例分析
2020/01/07 Python
Pytorch使用MNIST数据集实现CGAN和生成指定的数字方式
2020/01/10 Python
欧洲品牌瓷器餐具网上商店:Porzellantreff.de
2018/04/04 全球购物
KARATOV珠宝在线商店:俄罗斯珠宝品牌
2019/03/13 全球购物
泰国的头号网上婴儿用品店:Motherhood.co.th
2019/04/09 全球购物
英国门把手公司:Door Handle Company
2019/05/12 全球购物
Blue Nile中国官网:全球知名的钻石和珠宝网络零售商
2020/03/22 全球购物
寒假实习自荐信
2014/01/26 职场文书
六月份红领巾广播稿
2014/02/03 职场文书
会走路的树教学反思
2014/02/20 职场文书
主持人演讲稿
2014/05/13 职场文书
2014年乡镇民政工作总结
2014/12/02 职场文书
拾金不昧表扬稿大全
2015/05/05 职场文书
建国70周年的心得体会(2篇)
2019/09/20 职场文书
Node.js实现爬取网站图片的示例代码
2022/04/04 NodeJs
在容器中使用nginx搭建上传下载服务器
2022/05/11 Servers