PHP查找与搜索数组元素方法总结


Posted in PHP onJune 12, 2015

本文实例讲述了PHP查找与搜索数组元素方法。分享给大家供大家参考。具体分析如下:

查找、筛选与搜索数组元素是数组操作的一些常见功能。下面来介绍一下几个相关的函数。

in_array()函数

in_array()函数在一个数组汇总搜索一个特定值,如果找到这个值返回true,否则返回false。其形式如下:

boolean in_array(mixed needle,array haystack[,boolean strict]);

来看下面的例子,查找变量apple是否已经在数组中,如果在,则输出一段信息:

$fruit = "apple";
$fruits = array("apple","banana","orange","pear");
if( in_array($fruit,$fruits) ) 
 echo "$fruit 已经在数组中";

第三个参数可选,它强制in_array()在搜索时考虑类型。

array_key_exists()函数

如果在一个数组中找到一个指定的键,函数array_key_exists()返回true,否则返回false。其形式如下:

boolean array_key_exists(mixed key,array array);

下面的例子将在数组键中搜索apple,如果找到,将输出这个水果的颜色:

$fruit["apple"] = "red";
$fruit["banana"] = "yellow";
$fruit["pear"] = "green";
if(array_key_exists("apple", $fruit)){
 printf("apple's color is %s",$fruit["apple"]);
}

执行这段代码得到的结果:

apple's color is red

array_search()函数

array_search()函数在一个数组中搜索一个指定的值,如果找到则返回相应的键,否则返回false。其形式如下:

mixed array_search(mixed needle,array haystack[,boolean strict])

下面的例子在$fruits中搜索一个特定的日期(December 7),如果找到,则返回相应州的有关信息:

$fruits["apple"] = "red";
$fruits["banana"] = "yellow";
$fruits["watermelon"]="green";
$founded = array_search("green", $fruits);
if($founded) 
 printf("%s was founded on %s.",$founded, $fruits[$founded])

程序运行结果如下:

watermelon was founded on green.

array_keys()函数

array_keys()函数返回一个数组,其中包含所搜索数组中找到的所有键。其形式如下:

array array_keys(array array[,mixed search_value])

如果包含可选参数search_value,则只会返回与该值匹配的键。下面的例子将输出$fruit数组中找到的所有数组:

$fruits["apple"] = "red";
$fruits["banana"] = "yellow";
$fruits["watermelon"]="green";
$keys = array_keys($fruits);
print_r($keys);

程序运行结果如下:

Array ( [0] => apple [1] => banana [2] => watermelon )

array_values()函数

array_values()函数返回一个数组中的所有值,并自动为返回的数组提供数值索引。其形式如下:

array array_values(array array)

下面的例子将获取$fruits中找到的各元素的值:

$fruits["apple"] = "red";
$fruits["banana"] = "yellow";
$fruits["watermelon"]="green";
$values = array_values($fruits);
print_r($values);

程序运行结果如下:

Array ( [0] => red [1] => yellow [2] => green )

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
用 php 编写的日历
Oct 09 PHP
php Sql Server连接失败问题及解决办法
Aug 07 PHP
php生成zip压缩文件的方法详解
Jun 09 PHP
遭遇php的in_array低性能问题
Sep 17 PHP
php环境套包 dedeampz 伪静态设置示例
Mar 26 PHP
php CI框架插入一条或多条sql记录示例
Jul 29 PHP
ThinkPHP分组下自定义标签库实例
Nov 01 PHP
Thinkphp中volist标签mod控制一定记录的换行BUG解决方法
Nov 04 PHP
php使用Jpgraph绘制复杂X-Y坐标图的方法
Jun 10 PHP
PHP实现搜索地理位置及计算两点地理位置间距离的实例
Jan 08 PHP
php版微信公众平台回复中文出现乱码问题的解决方法
Sep 22 PHP
PHP获取星期几的常用方法小结
Dec 18 PHP
php使用array_search函数实现数组查找的方法
Jun 12 #PHP
php线性表的入栈与出栈实例分析
Jun 12 #PHP
php数组合并与拆分实例分析
Jun 12 #PHP
php结合ACCESS的跨库查询功能
Jun 12 #PHP
php中smarty实现多模版网站的方法
Jun 11 #PHP
php中smarty模板条件判断用法实例
Jun 11 #PHP
php中smarty区域循环的方法
Jun 11 #PHP
You might like
php中的boolean(布尔)类型详解
2013/10/28 PHP
PHP中ini_set和ini_get函数的用法小结
2014/02/18 PHP
ThinkPHP提示错误Fatal error: Allowed memory size的解决方法
2015/02/12 PHP
PHP入门教程之面向对象的特性分析(继承,多态,接口,抽象类,抽象方法等)
2016/09/11 PHP
js confirm()方法的使用方法实例
2013/07/13 Javascript
jquery操作对象数组元素方法详解
2014/11/26 Javascript
jQuery easyui的validatebox校验规则扩展及easyui校验框validatebox用法
2016/01/18 Javascript
JS作用域闭包、预解释和this关键字综合实例解析
2016/12/16 Javascript
jQuery实现表格奇偶行显示不同背景色 就这么简单
2017/03/13 Javascript
vue.js实现刷新当前页面的方法教程
2017/07/05 Javascript
JavaScript生成简单等差数列
2017/11/28 Javascript
vue插件实现v-model功能
2018/09/10 Javascript
在vue中多次调用同一个定义全局变量的实例
2018/09/25 Javascript
详解CommonJS和ES6模块循环加载处理的区别
2018/12/26 Javascript
在微信小程序中使用vant的方法
2019/06/07 Javascript
ES6 Array常用扩展的应用实例分析
2019/06/26 Javascript
对pandas里的loc并列条件索引的实例讲解
2018/11/15 Python
python Tkinter版学生管理系统
2019/02/20 Python
用python打印菱形的实操方法和代码
2019/06/25 Python
python 正则表达式贪婪模式与非贪婪模式原理、用法实例分析
2019/10/14 Python
详解Django admin高级用法
2019/11/06 Python
使用Pycharm分段执行代码
2020/04/15 Python
使用Matplotlib绘制不同颜色的带箭头的线实例
2020/04/17 Python
Python jieba结巴分词原理及用法解析
2020/11/05 Python
CSS3等相关属性制作分页导航实现代码
2012/12/24 HTML / CSS
宝拉珍选官方旗舰店:2%水杨酸精华液,收缩毛孔粗大和祛痘
2018/07/01 全球购物
次世代生活态度:Hypebeast
2018/07/05 全球购物
西安当代医院管理研究院笔试题
2015/12/11 面试题
运动会领导邀请函
2014/02/05 职场文书
管理岗位竞聘演讲稿
2014/08/18 职场文书
入党积极分子学习优秀共产党员先进事迹思想汇报
2014/09/13 职场文书
大学生村官个人对照检查材料(群众路线)
2014/09/26 职场文书
班主任工作经验交流会总结
2015/11/02 职场文书
2016年三八节红领巾广播稿
2015/12/17 职场文书
从QQtabBar看css命名规范BEM的详细介绍
2021/08/07 HTML / CSS
【海涛教你打DOTA】黑鸟第一视角解说
2022/04/01 DOTA