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+ajax 无刷新删除数据
Feb 20 PHP
php正则表达匹配中文问题分析小结
Mar 25 PHP
php抓取页面的几种方法详解
Jun 17 PHP
php快递单号查询接口使用示例
May 05 PHP
ThinkPHP中的三大自动简介
Aug 22 PHP
php查找指定目录下指定大小文件的方法
Nov 28 PHP
再Docker中架设完整的WordPress站点全攻略
Jul 29 PHP
PHP生成条形码大揭秘
Sep 24 PHP
php实现中文转数字
Feb 18 PHP
PHP实现微信JS-SDK接口选择相册及拍照并上传的方法
Dec 05 PHP
php实现给二维数组中所有一维数组添加值的方法
Feb 04 PHP
Laravel实现ORM带条件搜索分页
Oct 24 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语法(3)
2006/10/09 PHP
PHP可变函数的使用详解
2013/06/14 PHP
网页的分页下标生成代码(PHP后端方法)
2016/02/03 PHP
JavaScript的Function详细
2006/11/14 Javascript
JS获得选取checkbox整行数据的方法
2015/01/28 Javascript
JavaScript实现文字跟随鼠标特效
2015/08/06 Javascript
用JS生成UUID的方法实例
2016/03/30 Javascript
vue嵌套路由与404重定向实现方法分析
2018/05/04 Javascript
JavaScript设计模式之模板方法模式原理与用法示例
2018/08/07 Javascript
如何使用50行javaScript代码实现简单版的call,apply,bind
2019/08/14 Javascript
javascript实现简单打字游戏
2019/10/29 Javascript
如何在微信小程序中存setStorage
2019/12/13 Javascript
使用JavaScript实现网页秒表功能(含开始、暂停、继续、重置功能)
2020/06/05 Javascript
Python yield使用方法示例
2013/12/04 Python
Python求导数的方法
2015/05/09 Python
python在不同层级目录import模块的方法
2016/01/31 Python
Python实现购物系统(示例讲解)
2017/09/13 Python
对tf.reduce_sum tensorflow维度上的操作详解
2018/07/26 Python
Random 在 Python 中的使用方法
2018/08/09 Python
Python json转字典字符方法实例解析
2020/04/13 Python
python3.8.1+selenium实现登录滑块验证功能
2020/05/22 Python
python 将列表里的字典元素合并为一个字典实例
2020/09/01 Python
Python为何不支持switch语句原理详解
2020/10/21 Python
html5 音乐播放器 audio 标签使用概述
2013/07/15 HTML / CSS
红色连衣裙精品店:Red Dress Boutique
2018/08/11 全球购物
关于Java finally的面试题
2016/04/27 面试题
机械工程师的岗位职责
2013/11/17 职场文书
大学生实习自我鉴定
2013/12/11 职场文书
幼儿园毕业教师感言
2014/02/21 职场文书
行政人事岗位职责
2014/03/17 职场文书
分公司总经理岗位职责
2014/08/03 职场文书
优秀团员事迹材料1500字
2014/08/31 职场文书
明星邀请函
2015/02/02 职场文书
单位工资证明范本
2015/06/12 职场文书
Golang使用Panic与Recover进行错误捕获
2022/03/22 Golang
vue router 动态路由清除方式
2022/05/25 Vue.js