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快速url重写 更新版[需php 5.30以上]
Apr 20 PHP
php 图片加水印与上传图片加水印php类
May 12 PHP
PHP去掉从word直接粘贴过来的没有用格式的函数
Oct 29 PHP
php抓取网站图片并保存的实现方法
Oct 29 PHP
php正则去除网页中所有的html,js,css,注释的实现方法
Nov 03 PHP
PHP数据分析引擎计算余弦相似度算法示例
Aug 08 PHP
PHP抽象类基本用法示例
Dec 28 PHP
php求斐波那契数的两种实现方式【递归与递推】
Sep 09 PHP
基于laravel belongsTo使用详解
Oct 18 PHP
如何在centos8自定义目录安装php7.3
Nov 28 PHP
PHP设计模式入门之状态模式原理与实现方法分析
Apr 26 PHP
php提高脚本性能的4个技巧
Aug 18 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
不用GD库生成当前时间的PNG格式图象的程序
2006/10/09 PHP
生成卡号php代码
2008/04/09 PHP
php+mysql删除指定编号员工信息的方法
2015/01/14 PHP
使用Javascript和DOM Interfaces来处理HTML
2006/10/09 Javascript
SUN的《AJAX与J2EE》全文译了
2007/02/23 Javascript
又一个图片自动缩小的JS代码
2007/03/10 Javascript
用JSON做数据传输格式中的一些问题总结
2011/12/21 Javascript
jquery checkbox实现单选小例
2013/11/27 Javascript
JavaScript函数详解
2015/02/27 Javascript
jQuery可见性过滤器:hidden和:visibility用法实例
2015/06/24 Javascript
angularjs学习笔记之双向数据绑定
2015/09/26 Javascript
简单总结JavaScript中的String字符串类型
2016/05/26 Javascript
浅述Javascript的外部对象
2016/12/07 Javascript
jquery表单提交带错误信息提示效果
2017/03/09 Javascript
web前端开发中常见的多列布局解决方案整理(一定要看)
2017/10/15 Javascript
vue中父子组件注意事项,传值及slot应用技巧
2018/05/09 Javascript
解决Mac node版本升级失败的问题
2018/05/16 Javascript
nodejs(officegen)+vue(axios)在客户端导出word文档的方法
2018/07/31 NodeJs
vue 的点击事件获取当前点击的元素方法
2018/09/15 Javascript
JavaScript find()方法及返回数据实例
2020/04/30 Javascript
[09:40]DAC2018 4.5 SOLO赛 MidOne vs Miracle
2018/04/06 DOTA
Python 实现Windows开机运行某软件的方法
2018/10/14 Python
python+selenium实现简历自动刷新的示例代码
2019/05/20 Python
打包python 加icon 去掉cmd黑窗口方法
2019/06/24 Python
Python实现bilibili时间长度查询的示例代码
2020/01/14 Python
TensorFlow2.X使用图片制作简单的数据集训练模型
2020/04/08 Python
导致python中import错误的原因是什么
2020/07/01 Python
Python连接Impala实现步骤解析
2020/08/04 Python
pycharm 复制代码出现空格的解决方式
2021/01/15 Python
朗仕(Lab series)英国官网:雅诗兰黛集团男士专属护肤品牌
2017/11/28 全球购物
CK巴西官方网站:Calvin Klein巴西
2019/07/19 全球购物
倡议书格式
2014/04/14 职场文书
汽车4S店销售经理岗位职责
2015/04/02 职场文书
乔布斯辞职信(中英文对照)
2015/05/12 职场文书
JavaWeb Servlet开发注册页面实例
2022/04/11 Java/Android
Windows server 2012 NTP时间同步的实现
2022/06/25 Servers