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 $_ENV为空的原因分析
Jun 01 PHP
php下过滤html代码的函数 提高程序安全性
Mar 02 PHP
PHP学习之正则表达式
Apr 17 PHP
php 带逗号千位符数字的处理方法
Jan 10 PHP
如何在php中正确的使用json
Aug 06 PHP
php简单获取文件扩展名的方法
Mar 24 PHP
JavaScript与HTML结合的基本使用方法整理
Oct 12 PHP
PHP中SSO Cookie登录分析和实现
Nov 06 PHP
PHP结合Mysql数据库实现留言板功能
Mar 04 PHP
PHP与以太坊交互详解
Aug 24 PHP
实例讲解php将字符串输出到HTML
Jan 27 PHP
JS(jQuery)实现聊天接收到消息语言自动提醒功能详解【提示“您有新的消息请注意查收”】
Apr 16 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,不用COM,生成excel文件
2006/10/09 PHP
用PHP和ACCESS写聊天室(七)
2006/10/09 PHP
php Undefined index的问题
2009/06/01 PHP
PHP记录页面停留时间的方法
2016/03/30 PHP
事件绑定之小测试  onclick && addEventListener
2011/07/31 Javascript
js获取多个tagname的节点数组
2013/09/22 Javascript
jquery live()重复绑定的解决方法介绍
2014/01/03 Javascript
node.js中的fs.openSync方法使用说明
2014/12/17 Javascript
jQuery中children()方法用法实例
2015/01/07 Javascript
jquery使用经验小结
2015/05/20 Javascript
整理AngularJS中的一些常用指令
2015/06/16 Javascript
jquery实现的点击翻书效果代码
2015/11/04 Javascript
个人网站留言页面(前端jQuery编写、后台php读写MySQL)
2016/05/03 Javascript
jQuery插件passwordStrength密码强度指标详解
2016/06/24 Javascript
浅谈js多维数组和hash数组定义和使用
2016/07/27 Javascript
vue中页面跳转拦截器的实现方法
2017/08/23 Javascript
全站最详细的Vuex教程
2018/04/13 Javascript
angular多语言配置详解
2019/05/16 Javascript
详解js创建对象的几种方式和对象方法
2021/03/01 Javascript
Python语言技巧之三元运算符使用介绍
2013/03/04 Python
Python中文编码那些事
2014/06/25 Python
Python基于回溯法子集树模板解决马踏棋盘问题示例
2017/09/11 Python
Python3.6基于正则实现的计算器示例【无优化简单注释版】
2018/06/14 Python
Python使用pymysql从MySQL数据库中读出数据的方法
2018/07/25 Python
Python使用matplotlib绘制三维图形示例
2018/08/25 Python
Win10环境python3.7安装dlib模块趟过的坑
2019/08/01 Python
深入了解Python在HDA中的应用
2019/09/05 Python
Python 字符串池化的前提
2020/07/03 Python
Python 防止死锁的方法
2020/07/29 Python
python爬虫筛选工作实例讲解
2020/11/23 Python
Mankind美国/加拿大:英国领先的男士美容护发用品公司
2018/12/05 全球购物
在SQL Server中创建数据库主要有那种方式
2013/09/10 面试题
什么是虚拟内存?虚拟内存有什么优势?
2016/02/09 面试题
公务员保密承诺书
2014/03/27 职场文书
Go语言基础切片的创建及初始化示例详解
2021/11/17 Golang
Win11软件图标固定到任务栏
2022/04/19 数码科技