PHP获取数组中指定的一列实例
作者:江南极客 发布时间:2024-05-08 09:38:33
标签:PHP,数组,指定,一列
对于一个多维数组(以二维数组为例),经常需要获取到其中的一列,比如有几条用户数据,是一个二维数组,现在需要获取到这几个用户的名字,可以有多种方法实现:
$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);
其执行结果是一样的。
来源:http://blog.csdn.net/sinat_35861727/article/details/78866763


猜你喜欢
- 一、文件操作pandas内置了10多种数据源读取函数,常见的就是CSV和EXCEL使用read_csv方法读取,结果为dataframe格式
- 一、需求来源工作中需要一种树形菜单组件,经过两天的构思最终通过作用域插槽实现: 此组件将每个节点(插槽名为 node)暴露出来。通过插槽的
- --******************************************************* --* 分页存储过程 *
- .sh脚本可以自动运行多次实验。Windows系统下实现pycharm运行.sh文件1、安装GitGit官网下载或者点击这里下载默认设置安装
- Python 跟 Python3 完全就是两种语言1、 import caffe FAILED环境为 Ubuntu 16 cuda
- function f(x){ alert(x); return
- 经常在办公的过程中会遇到各种各样的压缩文件处理,但是呢每个压缩软件支持的格式又是不同的。没有可以一种可以同时多种格式的并且免费的文件解压缩工
- 今天写了一个简单的验证,本来前面用的组件,但是感觉写的组件在此项目不是很好用,由于用到的地方比较少,所以直接写在了页面中。<div&g
- 引言对图像进行形态学变换。变换对象一般为灰度图或二值图,功能函数放在morphology子模块内。1、膨胀(dilation)原理:一般对二
- 上一篇文章 跨表更新,看到自己写的SQL像个憨憨写了关于跨表个更新的内容。一年过的很快,文中后来的两位员工 馮大 和 馮二 也要面对无情的
- Python字典中的键是唯一的,但不同的键可以对应同样的值,比如说uid,可以是1001。id同样可以是1001。这样的话通过值来获取指定的
- 前言学习Python的初衷是因为它的实践的便捷性,几乎计算机上能完成的各种操作都能在Python上找到解决途径。平时工作需要在线学习。而在线
- 数据库文件在使用过程中,日志文件会越来越大。小则几个G,大的可能几十上百G都有可能,有时实在是没有必要为它浪费太大的硬盘存储空间。所以可以把
- 这题的官方难度是Medium,点赞1296,反对505,通过率35.4%。从各项指标来说看起来有些中规中矩,实际上也的确如此。这道题的解法和
- 一、hashlib模块什么是哈希模块:hashlib模块是一种加密模块,内部存有多种加密类型加密的作用:可将明文数据进行加密,转换成一串密文
- 数据库的选择原则是什么?我只知道小网站用Access,大网站用SQL,请问它的具体选择原则是什么?在实际应用中,数据库的选择原则一般是:如果
- 简单实现平面的点K均值分析,使用欧几里得距离,并用pylab展示。import pylab as pl#calc Euclid squire
- 一、集合在 python 中用 {} 扩起一堆数字,但是这堆数字没有体现映射关系,那么这堆数字就是一个集合。集合的特色:集合在 python
- PromisePromise能够处理异步程序。回调地狱JS中或node中,都大量的使用了回调函数进行异步操作,而异步操作什么时候返回结果是不
- re正则表达式模块还包括一些有用的操作正则表达式的函数。下面主要介绍compile函数。 定义: compile(pattern[,flag