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.MVC的模板标签系统(三)
Sep 05 PHP
一段php加密解密的代码
Oct 09 PHP
用PHP制作静态网站的模板框架(二)
Oct 09 PHP
php for 循环语句使用方法详细说明
May 09 PHP
PHP IN_ARRAY 函数使用注意事项
Jul 24 PHP
php模拟js函数unescape的函数代码
Oct 20 PHP
PHP has encountered a Stack overflow问题解决方法
Nov 03 PHP
PHP PDOStatement对象bindpram()、bindvalue()和bindcolumn之间的区别
Nov 20 PHP
php+mysql结合Ajax实现点赞功能完整实例
Jan 30 PHP
php好代码风格的阶段性总结
Jun 25 PHP
PHP序列化操作方法分析
Sep 28 PHP
PHP接口继承及接口多继承原理与实现方法详解
Oct 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
在PHP的图形函数中显示汉字
2006/10/09 PHP
php UBB 解析实现代码
2011/11/27 PHP
php结合安卓客户端实现查询交互实例
2015/05/05 PHP
启用Csrf后POST数据时出现的400错误
2015/07/05 PHP
PHP实现将多个文件中的内容合并为新文件的方法示例
2017/06/10 PHP
jquery api参考 visualjquery 中国线路 速度快
2007/11/30 Javascript
SWFObject Flash js调用类
2008/07/08 Javascript
javascript Base类 包含基本的方法
2009/07/22 Javascript
如何用js控制frame的隐藏或显示的解决办法
2013/03/20 Javascript
Jquery 类网页微信二维码图块滚动效果具体实现
2013/10/14 Javascript
jquery判断单选按钮radio是否选中的方法
2015/05/05 Javascript
javascript封装的sqlite操作类实例
2015/07/17 Javascript
Jquery全选与反选点击执行一次的解决方案
2015/08/14 Javascript
微信小程序 后台https域名绑定和免费的https证书申请详解
2016/11/10 Javascript
详解vue-cli 脚手架项目-package.json
2017/07/04 Javascript
underscore之Collections_动力节点Java学院整理
2017/07/10 Javascript
ReactNative实现图片上传功能的示例代码
2017/07/11 Javascript
layer弹出层 iframe层去掉滚动条的实例代码
2018/08/17 Javascript
使用vue 国际化i18n 实现多实现语言切换功能
2018/10/11 Javascript
element-ui 的el-button组件中添加自定义颜色和图标的实现方法
2018/10/26 Javascript
如何构建一个Vue插件并生成npm包
2020/10/26 Javascript
python实现从字符串中找出字符1的位置以及个数的方法
2014/08/25 Python
Python基于机器学习方法实现的电影推荐系统实例详解
2019/06/25 Python
Python爬虫实现使用beautifulSoup4爬取名言网功能案例
2019/09/15 Python
关于Python字符串显示u...的解决方式
2020/03/06 Python
佛罗里达州印第安河新鲜水果:Hale Groves
2017/02/20 全球购物
SCDKey德国:全球领先的数字游戏市场
2019/04/09 全球购物
简述索引存取方法的作用和建立索引的原则
2013/03/26 面试题
STP的判定过程
2012/10/01 面试题
什么是用户模式(User Mode)与内核模式(Kernel Mode) ?
2014/07/21 面试题
中文系师范生自荐信
2013/10/01 职场文书
青年志愿者事迹材料
2014/02/07 职场文书
法律讲堂观后感
2015/06/11 职场文书
网络舆情信息简报
2015/07/21 职场文书
2019新员工心得体会
2019/06/25 职场文书
React实现动效弹窗组件
2021/06/21 Javascript