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编程最快明白》第八讲:php启发和小结
Nov 01 PHP
网站用php实现paypal整合方法
Nov 28 PHP
Notice: Trying to get property of non-object problem(PHP)解决办法
Mar 11 PHP
PHP写的求多项式导数的函数代码
Jul 04 PHP
PHP中new static()与new self()的区别异同分析
Aug 22 PHP
PHP中的常见魔术方法功能作用及用法实例
Jul 01 PHP
php 判断字符串编码是utf-8 或gb2312实例
Nov 01 PHP
php7函数,声明,返回值等新特性介绍
May 25 PHP
PHP _construct()函数讲解
Feb 03 PHP
Laravel框架运行出错提示RuntimeException No application encryption key has been specified.解决方法
Apr 02 PHP
Swoole4.4协程抢占式调度器详解
May 23 PHP
php如何把表单内容提交到数据库
Jul 08 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(一)
2012/03/21 PHP
js跟随滚动条滚动浮动代码
2009/12/31 Javascript
JS 数字转换研究总结
2013/12/26 Javascript
判断iframe里的页面是否加载完成
2014/06/06 Javascript
在JavaScript中构建ArrayList示例代码
2014/09/17 Javascript
jQuery入门介绍之基础知识
2015/01/13 Javascript
JavaScript判断变量是否为空的自定义函数分享
2015/01/31 Javascript
jQuery性能优化技巧分析
2015/02/20 Javascript
jQuery Validate表单验证深入学习
2015/12/18 Javascript
JS实现支持Ajax验证的表单插件
2016/03/24 Javascript
JS当前页面登录注册框,固定DIV,底层阴影的实例代码
2016/09/29 Javascript
JavaScript运动框架 链式运动到完美运动(五)
2017/05/18 Javascript
详解微信小程序 template添加绑定事件
2017/06/23 Javascript
node.js博客项目开发手记
2018/03/16 Javascript
微信小程序methods中定义的方法互相调用的实例代码
2018/08/07 Javascript
Vue 实现对quill-editor组件中的工具栏添加title
2020/08/03 Javascript
详解Vue的组件中data选项为什么必须是函数
2020/08/17 Javascript
[01:03:42]VP vs VGJ.S 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
Python求解平方根的方法
2015/03/11 Python
python使用点操作符访问字典(dict)数据的方法
2015/03/16 Python
Python中的ctime()方法使用教程
2015/05/22 Python
Python中asyncore异步模块的用法及实现httpclient的实例
2016/06/28 Python
python中如何使用正则表达式的集合字符示例
2017/10/09 Python
查看TensorFlow checkpoint文件中的变量名和对应值方法
2018/06/14 Python
使用python搭建服务器并实现Android端与之通信的方法
2019/06/28 Python
python如何实现从视频中提取每秒图片
2020/10/22 Python
python 实现识别图片上的数字
2019/07/30 Python
Python上下文管理器类和上下文管理器装饰器contextmanager用法实例分析
2019/11/07 Python
CentOS7下安装python3.6.8的教程详解
2020/01/03 Python
python使用paramiko实现ssh的功能详解
2020/03/06 Python
英国高档时尚男装购物网站:MR PORTER
2016/08/09 全球购物
优秀求职信范文分享
2013/12/19 职场文书
工程专业求职自荐书范文
2014/02/08 职场文书
酒店工程部经理岗位职责
2015/04/09 职场文书
python读取pdf格式文档的实现代码
2021/04/01 Python
JavaCV实现照片马赛克效果
2022/01/22 Java/Android