资讯专栏INFORMATION COLUMN

PHP提取多维数组指定一列的方法大全

roundstones / 1273人阅读

摘要:中对多维数组特定列的提取,是个很常用的功能,正因为如此,在版本之后,添加了一个专用的函数。变种方法如下,意为把数组的每一项值的开头值移出,并获取移除的值作为新数组。注意此时新数组的键仍是原数组的键,如下。

PHP中对多维数组特定列的提取,是个很常用的功能,正因为如此,PHP在5.5.0版本之后,添加了一个专用的函数array_column()。当然,如果你的PHP版本低于5.5.0,就得用别的方法处理了。

例如,对于以下这个数组:

$user = array(

"0" => array("id" => 100, "username" => "a1"),
"1" => array("id" => 101, "username" => "a2"),
"2" => array("id" => 102, "username" => "a3"),
"3" => array("id" => 103, "username" => "a4"),
"4" => array("id" => 104, "username" => "a5"),

);

我们要提取其中的 usename 列,变成:

$username = array("a1", "a2", "a3", "a4", "a5");

方法有以下几种。
1 array_column函数法

这是最简单的方法,但是要求PHP版本必须是5.5.0及以上版本,方法:

$username = array_column($user, "username");

2 array_walk函数法

array_walk()函数使用用户自定义函数对数组中的每个元素做回调处理,实现当前功能的方法:

$username = array();
array_walk($user, function($value, $key) use (&$username){

$username[] = $value["username"];

});

3 array_map函数法

array_map()函数和array_walk() 作用类似,将回调函数作用到给定数组的单元上。

$username = array();
array_map(function($value) use (&$username){

$username[] = $value["username"];

}, $user);

4 foreach循环法

foreach循环相对上面的方法效率稍微低一些,但简单容易理解。

$username = array();
foreach ($user as $value) {

$username[] = $value["username"];

}

5 array_map变种

方法如下,意为把$user数组的每一项值的开头值移出,并获取移除的值作为新数组。注意此时新数组$username的键仍是原数组$user的键,如下。

$username = array_map("array_shift", $user);

注意:该功能会获取$user中的 id 列,而不是 username 列。

另外,如果需要获取二维数组每一项的开头列或结尾列,也可以这样做:

$username = array_map("reset", $user);
$username = array_map("end", $user);

这三个变种方法作用比较局限,仅在获取第一列或最后一列的时候有用,在复杂的数组中就难以发挥作用了。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/25730.html

相关文章

  • NumPy 数组大全

    摘要:在下面的例子中,我们创建了一个二维数组并插入了两列输出如果没有使用参数,则会输出这就是数组结构的扁平化。下面的例子中我们从二维数组中删除了一行输出在方法中,首先给出数组,然后给出要删除的元素的索引。数组被传递给函数。 NumPy 是一个Python 库,用于 Python 编程中的科学计算。在本教程中,你将学习如何在 NumPy 数组上以多种方式添加、删除、排序和操作元素。 NumPy...

    kk_miles 评论0 收藏0
  • NumPy 数组大全

    摘要:在下面的例子中,我们创建了一个二维数组并插入了两列输出如果没有使用参数,则会输出这就是数组结构的扁平化。下面的例子中我们从二维数组中删除了一行输出在方法中,首先给出数组,然后给出要删除的元素的索引。数组被传递给函数。 NumPy 是一个Python 库,用于 Python 编程中的科学计算。在本教程中,你将学习如何在 NumPy 数组上以多种方式添加、删除、排序和操作元素。 NumPy...

    yunhao 评论0 收藏0
  • JavaScript字符串操作方法大全,包含ES6方法

    摘要:要执行忽略大小写的检索,请追加标志。八提取字符串的片断,并在新的字符串中返回被提取的部分。九把字符串分割为字符串数组。十一把字符串转换为大写。十四从起始索引号提取字符串中指定数目的字符。。子串中的字符数。新增的操作字符串的方法一 一、charAt() 返回在指定位置的字符。 var str=abc console.log(str.charAt(0))//a 二、charCodeAt(...

    Scorpion 评论0 收藏0
  • 十五个常用的 Laravel 集合(Collection)

    摘要:将返回通过回调真值测试的第一个项的键。方法将集合分割为多个给定大小的较小集合。它可用于在任何位置的调试和查找集合内的内容。方法用于遍历整个集合。这对集合同样有效。它将导致由第二个参数的值作为键的集合。它接受回调并传递并将集合传递给它。 showImg(https://segmentfault.com/img/remote/1460000018924972); 文章转自:https://...

    alphahans 评论0 收藏0
  • 【数据科学系统学习】Python # 数据分析基本操作[一] numpy

    摘要:提供了使我们能够快速便捷地处理结构化数据的大量数据结构和函数。结构化数据,例如多维数据矩阵表格行数据,其中各列可能是不同的类型字符串数值日期等。基础数组和矢量计算高性能科学计算和数据分析的基础包。 本篇内容为整理《利用Python进行数据分析》,博主使用代码为 Python3,部分内容和书本有出入。 利用 Python 进行科学计算的实用指南。本书重点介绍了用于高效解决各种数据分析问...

    wushuiyong 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<