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 04 PHP
php实现根据url自动生成缩略图的方法
Sep 23 PHP
php定义参数数量可变的函数用法实例
Mar 16 PHP
Codeigniter的dom类用法实例
Jun 26 PHP
Laravel 5.3 学习笔记之 安装
Aug 28 PHP
PHP针对多用户实现更换头像功能
Sep 04 PHP
php实现URL加密解密的方法
Nov 17 PHP
在php7中MongoDB实现模糊查询的方法详解
May 03 PHP
PHP中实现中文字串截取无乱码的解决方法
May 29 PHP
PHP观察者模式示例【Laravel框架中有用到】
Jun 15 PHP
TP5框架model常见操作示例小结【增删改查、聚合、时间戳、软删除等】
Apr 05 PHP
PHP如何防止用户重复提交表单
Dec 09 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
自己动手,丰衣足食 - 短波框形天线制作
2021/03/01 无线电
提问的智慧
2006/10/09 PHP
php取得字符串首字母的方法
2015/03/25 PHP
CI框架中redis缓存相关操作文件示例代码
2016/05/17 PHP
Thinkphp 框架扩展之标签库驱动原理与用法分析
2020/04/23 PHP
测试JavaScript字符串处理性能的代码
2009/12/07 Javascript
jquery固定底网站底部菜单效果
2013/08/13 Javascript
下拉列表选择项的选中在不同浏览器中的兼容性问题探讨
2013/09/18 Javascript
jQuery选择器源码解读(七):elementMatcher函数
2015/03/31 Javascript
javascript创建对象、对象继承的实用方式详解
2016/03/08 Javascript
js验证框架实现代码分享
2016/05/18 Javascript
基于vue-ssr的静态网站生成器VuePress 初体验
2018/04/17 Javascript
vue-cli 引入jQuery,Bootstrap,popper的方法
2018/09/03 jQuery
Vue v-for循环之@click点击事件获取元素示例
2019/11/09 Javascript
微信小程序跨页面数据传递事件响应实现过程解析
2019/12/19 Javascript
原生js实现分页效果
2020/09/23 Javascript
Ant Design moment对象和字符串之间的相互转化教程
2020/10/27 Javascript
2款Python内存检测工具介绍和使用方法
2014/06/01 Python
python简单获取数组元素个数的方法
2015/07/13 Python
在windows下Python打印彩色字体的方法
2018/05/15 Python
Python在for循环中更改list值的方法【推荐】
2018/08/17 Python
selenium在执行phantomjs的API并获取执行结果的方法
2018/12/17 Python
Python列表常见操作详解(获取,增加,删除,修改,排序等)
2019/02/18 Python
解决py2exe打包后,总是多显示一个DOS黑色窗口的问题
2019/06/21 Python
从训练好的tensorflow模型中打印训练变量实例
2020/01/20 Python
你需要学会的8个Python列表技巧
2020/06/24 Python
HTML5打开本地app应用的方法
2016/03/31 HTML / CSS
可以使用抽象函数重写基类中的虚函数吗
2013/06/02 面试题
腾讯公司的一个sql题
2013/01/22 面试题
办公室秘书岗位职责范本
2014/02/11 职场文书
《歌唱二小放牛郎》教学反思
2014/04/19 职场文书
艺术学院毕业生求职信
2014/07/09 职场文书
2014年化验室工作总结
2014/11/21 职场文书
go语言-在mac下brew升级golang
2021/04/25 Golang
vue动态绑定style样式
2022/04/20 Vue.js
springcloud整合seata
2022/05/20 Java/Android