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代码质量36计
Sep 05 PHP
php中防止恶意刷新页面的代码小结
Oct 31 PHP
php页面函数设置超时限制的方法
Dec 01 PHP
PHP实现微信发红包程序
Aug 24 PHP
开启PHP的伪静态模式
Dec 31 PHP
php实现的xml操作类
Jan 15 PHP
关于PHP中Session文件过多的问题及session文件保存位置
Mar 17 PHP
PHP多进程编程总结(推荐)
Jul 18 PHP
smarty循环嵌套用法示例分析
Jul 19 PHP
php使用mysqli和pdo扩展,测试对比mysql数据库的执行效率完整示例
May 09 PHP
php解决crontab定时任务不能写入文件问题的方法分析
Sep 16 PHP
PHP中的异常处理机制深入讲解
Nov 10 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 CLI实现简单的数据库实时监控调度
2009/07/01 PHP
用PHP ob_start()控制浏览器cache、生成html实现代码
2010/02/16 PHP
php获取用户IPv4或IPv6地址的代码
2012/11/15 PHP
PHP 使用pcntl和libevent 实现Timer功能
2013/10/27 PHP
Java和PHP在Web开发方面对比分析
2015/03/01 PHP
Laravel5.4框架使用socialite实现github登录的方法
2019/03/20 PHP
Mootools 1.2教程 同时进行多个形变动画
2009/09/15 Javascript
js当一个变量为函数时 应该注意的一点细节小结
2011/12/29 Javascript
node.js中的buffer.Buffer.isEncoding方法使用说明
2014/12/14 Javascript
js获得当前系统日期时间的方法
2015/05/06 Javascript
JavaScript iframe数据共享接口实现方法
2016/01/06 Javascript
Javascript基础知识盲点总结之函数
2016/05/15 Javascript
Vuejs第七篇之Vuejs过渡动画案例全面解析
2016/09/05 Javascript
真正好用的js验证上传文件大小的简单方法
2016/10/27 Javascript
js实现九宫格的随机颜色跳转
2017/02/19 Javascript
React学习笔记之条件渲染(一)
2017/07/02 Javascript
微信小程序实现倒计时调用相机自动拍照功能
2018/06/10 Javascript
详解Vue.js使用Swiper.js在iOS
2018/09/10 Javascript
jQuery插件实现非常实用的tab栏切换功能【案例】
2019/02/18 jQuery
Javascript实现一朵从含苞到绽放的玫瑰
2019/03/30 Javascript
JS数组Object.keys()方法的使用示例
2019/06/05 Javascript
vue项目中实现缓存的最佳方案详解
2019/07/11 Javascript
javascript 内存模型实例详解
2020/04/18 Javascript
Java 生成随机字符的示例代码
2021/01/13 Javascript
Python输出由1,2,3,4组成的互不相同且无重复的三位数
2018/02/01 Python
一百多行python代码实现抢票助手
2018/09/25 Python
对pandas通过索引提取dataframe的行方法详解
2019/02/01 Python
Python 在OpenCV里实现仿射变换—坐标变换效果
2019/08/30 Python
中国最大的潮流商品购物网站:YOHO!BUY有货
2017/01/07 全球购物
护理个人求职信范文
2014/01/08 职场文书
节水口号标语
2014/06/19 职场文书
社区娱乐活动方案
2014/08/21 职场文书
学生偷窃检讨书
2014/09/25 职场文书
男方家长婚礼致辞
2015/07/27 职场文书
python opencv常用图形绘制方法(线段、矩形、圆形、椭圆、文本)
2021/04/12 Python
MySQL 表锁定 LOCK和UNLOCK TABLES的 SQL语法
2022/04/18 MySQL