PHP获取数组中指定的一列实例


Posted in PHP onDecember 27, 2017

对于一个多维数组(以二维数组为例),经常需要获取到其中的一列,比如有几条用户数据,是一个二维数组,现在需要获取到这几个用户的名字,可以有多种方法实现:

$arr = array(
	array(
		'id'=>'101',
		'name'=>'qu',
		'age'=>28
	),
	array(
		'id'=>'102',
		'name'=>'you',
		'age'=>24
	),
	array(
		'id'=>'103',
		'name'=>'zheng',
		'age'=>22
	),
	array(
		'id'=>'104',
		'name'=>'zhu',
		'age'=>23
	)
);

方法一:使用PHP内置函数array_column()实现

array array_column ( array $input , mixed $column_key [, mixed $index_key ] )

执行语句:

$result = array_column($arr,'name'); 
print_r($result);

结果如下:

Array 
( 
 [0] => qu 
 [1] => you 
 [2] => zheng 
 [3] => zhu 
)

如果指定了可选参数index_key,那么input数组中的这一列的值将作为返回数组中对应值的键。

$result = array_column($arr,'name','id'); 
print_r($result);

结果如下:

Array 
( 
 [101] => qu 
 [102] => you 
 [103] => zheng 
 [104] => zhu 
)

方法二:使用PHP内置函数array_map()实现

array array_map ( callable $callback , array $arr1 [, array $... ] )

array_map() 返回一个数组,该数组包含了 arr1 中的所有单元经过 callback 作用过之后的单元。其中第一个参数是一个回调函数,返回值是一个数组,该数组的每个元素都数组(arr1)里面的每个元素经过回调函数(callback)处理了的。

先声明一个处理函数:

function get_val($arr){ 
 return $arr['name']; 
}

然后作用于array_map()函数:

$result = array_map('get_val',$arr); 
print_r($result);

执行结果如下:

Array 
( 
 [0] => qu 
 [1] => you 
 [2] => zheng 
 [3] => zhu 
)

此处array_map()的第一个参数是一个回调函数,而且是事先定义好的有名函数,这里我们也可以像js一样使用匿名函数:

$result = array_map(function($v){ 
 return $v['name']; 
},$arr);

其执行结果是一样的。

以上这篇PHP获取数组中指定的一列实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
一个PHP模板,主要想体现一下思路
Dec 25 PHP
PHP下打开URL地址的几种方法小结
May 16 PHP
基于Snoopy的PHP近似完美获取网站编码的代码
Oct 23 PHP
php curl常见错误:SSL错误、bool(false)
Dec 28 PHP
PHP中的正则表达式函数介绍
Feb 27 PHP
解析在PHP中使用全局变量的几种方法
Jun 24 PHP
php无限遍历文件夹示例分享
Mar 04 PHP
如何使用纯PHP实现定时器任务(Timer)
Jul 31 PHP
CodeIgniter配置之SESSION用法实例分析
Jan 19 PHP
php集成动态口令认证
Jul 21 PHP
ThinkPHP类似AOP思想的参数验证的实现方法
Dec 18 PHP
tp5.1 框架数据库常见操作详解【添加、删除、更新、查询】
May 26 PHP
快速解决PHP调用Word组件DCOM权限的问题
Dec 27 #PHP
详解Yaf框架PHPUnit集成测试方法
Dec 27 #PHP
Laravel中使用Queue的最基本操作教程
Dec 27 #PHP
php获取ajax的headers方法与内容实例
Dec 27 #PHP
PHP实现求连续子数组最大和问题2种解决方法
Dec 26 #PHP
PHP基于双向链表与排序操作实现的会员排名功能示例
Dec 26 #PHP
thinkphp5 URL和路由的功能详解与实例
Dec 26 #PHP
You might like
通过具体程序来理解PHP里面的抽象类
2010/01/28 PHP
解析CI的AJAX分页 另类实现方法
2013/06/27 PHP
PHP统一页面编码避免乱码问题
2015/04/09 PHP
php倒计时出现-0情况的解决方法
2016/07/28 PHP
PHP中命名空间的使用例子
2019/03/22 PHP
JavaScript静态的动态
2006/09/18 Javascript
JS类库Bindows1.3中的内存释放方式分析
2007/03/08 Javascript
JavaScript 计算图片加载数量的代码
2011/01/01 Javascript
javascript图片相似度算法实现 js实现直方图和向量算法
2014/01/14 Javascript
js中的for如何实现foreach中的遍历
2014/05/31 Javascript
JavaScript将数字转换成大写中文的方法
2015/03/23 Javascript
AngularJS 日期格式化详解
2015/12/23 Javascript
js实现文字滚动效果
2016/03/03 Javascript
微信小程序 loading(加载中提示框)实例
2016/10/28 Javascript
AngularJS操作键值对象类似java的hashmap(填坑小结)
2016/11/12 Javascript
微信小程序使用component自定义toast弹窗效果
2018/11/27 Javascript
JavaScript偏函数与柯里化实例详解
2019/03/27 Javascript
Express结合Webpack的全栈自动刷新
2019/05/23 Javascript
Vue3新特性之在Composition API中使用CSS Modules
2020/07/13 Javascript
[54:17]DOTA2-DPC中国联赛定级赛 RNG vs iG BO3第二场 1月10日
2021/03/11 DOTA
Python 创建子进程模块subprocess详解
2015/04/08 Python
利用python求相邻数的方法示例
2017/08/18 Python
树莓派安装OpenCV3完整过程的实现
2019/10/10 Python
Django项目中使用JWT的实现代码
2019/11/04 Python
HTML5之SVG 2D入门12—SVG DOM及DOM操作介绍
2013/01/30 HTML / CSS
查找廉价航班和发现新目的地:Kiwi.com
2019/02/25 全球购物
C#实现对任一张表的数据进行增,删,改,查要求,运用Webservice,体现出三层架构
2014/07/11 面试题
幼教毕业生自我鉴定
2014/01/12 职场文书
小学老师寄语大全
2014/04/04 职场文书
纪检监察建议书
2014/05/19 职场文书
工作作风整顿个人剖析材料
2014/10/11 职场文书
幼儿园感恩节活动方案2014
2014/10/11 职场文书
婚育证明格式
2015/06/17 职场文书
《飘》英文读后感五篇
2019/10/11 职场文书
Django项目配置Memcached和Redis, 缓存选择哪个更有优势
2021/04/06 Python
HTML静态页面获取url参数和UserAgent的实现
2022/08/05 HTML / CSS