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 相关文章推荐
phpmyadmin MySQL 加密配置方法
Jul 05 PHP
php导入csv文件碰到乱码问题的解决方法
Feb 10 PHP
php制作文本式留言板
Mar 18 PHP
typecho插件编写教程(四):插件挂载
May 28 PHP
PHP中生成UUID自定义函数分享
Jun 10 PHP
php 参数过滤、数据过滤详解
Oct 26 PHP
PHP空值检测函数与方法汇总
Nov 19 PHP
php字符串过滤strip_tags()函数用法实例分析
Jun 24 PHP
Laravel关系模型指定条件查询方法
Oct 10 PHP
php pdo连接数据库操作示例
Nov 18 PHP
记Laravel调用Gin接口调用formData上传文件的实现方法
Dec 12 PHP
php与阿里云短信接口接入操作案例分析
May 27 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开发框架总结收藏
2008/04/24 PHP
使用PHP Socket 编程模拟Http post和get请求
2014/11/25 PHP
php通过array_merge()函数合并关联和非关联数组的方法
2015/03/18 PHP
PHP实现的DES加密解密封装类完整实例
2017/04/29 PHP
另类调用flash无须激活的方法
2006/12/27 Javascript
Javascript 圆角div的实现代码
2009/10/15 Javascript
js 动态选中下拉框
2009/11/26 Javascript
JavaScript两种跨域技术全面介绍
2014/04/16 Javascript
js实现同一页面多个不同运动效果的方法
2015/04/10 Javascript
js+ajax实现获取文件大小的方法
2015/12/08 Javascript
异步加载JS、CSS代码(推荐)
2016/06/15 Javascript
JS获取当前页面名称的简单实例
2016/08/19 Javascript
jQuery EasyUI tree 使用拖拽时遇到的错误小结
2016/10/10 Javascript
jQuery实现的背景颜色渐变动画效果示例
2017/03/24 jQuery
Vue2递归组件实现树形菜单
2017/04/10 Javascript
讲解vue-router之什么是编程式路由
2018/05/28 Javascript
详解node字体压缩插件font-spider的用法
2018/09/28 Javascript
vue动态渲染svg、添加点击事件的实现
2020/03/13 Javascript
[03:39]这就是刀塔,我们是冠军!燃情短片讲述我们的DOTA故事
2019/07/02 DOTA
[01:01:52]DOTA2-DPC中国联赛正赛 iG vs LBZS BO3 第一场 3月4日
2021/03/11 DOTA
python处理PHP数组文本文件实例
2014/09/18 Python
Python通过select实现异步IO的方法
2015/06/04 Python
python中pygame针对游戏窗口的显示方法实例分析(附源码)
2015/11/11 Python
对python读写文件去重、RE、set的使用详解
2018/12/11 Python
基于多进程中APScheduler重复运行的解决方法
2019/07/22 Python
pandas数据选取:df[] df.loc[] df.iloc[] df.ix[] df.at[] df.iat[]
2020/04/24 Python
澳洲网红粉泥面膜:Sand & Sky
2019/08/13 全球购物
物流管理专业大学生自荐信
2013/10/04 职场文书
成功的酒店创业计划书
2013/12/27 职场文书
干部选拔任用方案
2014/05/26 职场文书
计算机毕业大学生求职信
2014/06/26 职场文书
竞聘自述材料
2014/08/25 职场文书
2014年村计划生育工作总结
2014/11/14 职场文书
捐款感谢信
2015/01/20 职场文书
培养联系人考察意见
2015/06/01 职场文书
win11无线投屏在哪设置? win11无线投屏功能的使用方法
2022/04/08 数码科技