二维数组转一维数组总结

例如将如下二位数组转以为以为一维数组

$records = [
[
'id' => 2135,
'first_name' => 'John',
'last_name' => 'Doe',
],
[
'id' => 3245,
'first_name' => 'Sally',
'last_name' => 'Smith',
],
[
'id' => 5342,
'first_name' => 'Jane',
'last_name' => 'Jones',
],
[
'id' => 5623,
'first_name' => 'Peter',
'last_name' => 'Doe',
]
];

1.array_column()

array_column()是PHP内置函数,限制是PHP版本必须是5.5.0及以上版本!

<?php
  $first_names = array_column($records, 'first_name');
  var_dump($first_names);
?>
打印结果为:
$first_names = ['John','Sally','Jane','Peter'];
<?php
  $first_names = array_column($records, 'first_name','id');
  var_dump($first_names);
?>
打印结果为:
$first_names = [2135 =>'John',3245 => 'Sally',5342 => 'Jane',5623 => 'Peter'];

2.array_walk()

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

$first_names= [];
array_walk($records, function($value, $key) use (&$first_names){
$first_names[] = $value['first_name'];
});
var_dump($first_names);
打印结果为:
$first_names = ['John','Sally','Jane','Peter'];

3.array_map()

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

$first_names= [];
array_map(function($value) use (&$first_names){
$first_names[] = $value['first_name'];
}, $records);
var_dump($first_names);
打印结果为:
$first_names = ['John','Sally','Jane','Peter'];

4.array_reduce()

 array_reduce — 用回调函数迭代地将数组简化为单一的值。

$first_names = array_reduce($records,function($result, $value){
array_push($result, $value['first_name']);
return $result;
},[]);
var_dump($first_names);
打印结果:
$first_names = ['John','Sally','Jane','Peter'];

5. array_walk_recursive()

  array_walk_recursive — 对数组中的每个成员递归地应用用户函数。这个函数可以把任意维度的数组转换成一维数组。

  

  

php - 二维数组转一维数组总结的更多相关文章

  1. 多维矩阵转一维数组(c++)【转载】

    在由二维矩阵转为一维数组时,我们有两种方式:以列为主和以行为主. 以列为主的二维矩阵转为一维数组时,转换公式为: index=column+row×行数 以行为主的二维矩阵转为一维数组时,转换公式为: ...

  2. PHP如何判断一个数组是一维数组或者是二维数组?用什么函数?

    如题:如何判断一个数组是一维数组或者是二维数组?用什么函数? 判断数量即可 <?php if (count($array) == count($array, 1)) { echo '是一维数组' ...

  3. C# 数组、一维数组、二维数组、多维数组、锯齿数组

    C#  数组.一维数组.二维数组.多维数组.锯齿数组 一.数组: 如果需要使用同一类型的对象,就可以使用数组,数组是一种数据结构,它可以包含同一类型的多个元素.它的长度是固定的,如长度未知的情况下,请 ...

  4. [PHP]快速实现:将二维数组转为一维数组

    如何将下面的二维数组转为一维数组. $msg = array( array( 'id'=>'45', 'name'=>'jack' ), array( 'id'=>'34', 'na ...

  5. [C++]二维数组还是一维数组?

    记得刚学习C++那会这个问题曾困扰过我,后来慢慢形成了不管什么时候都用一维数组的习惯,再后来知道了在一维数组中提出首列元素地址进行二维调用的办法.可从来没有细想过这个问题,最近自己写了点代码测试下,虽 ...

  6. numpy基础教程--将二维数组转换为一维数组

    1.导入相应的包,本系列教程所有的np指的都是numpy这个包 1 # coding = utf-8 2 import numpy as np 3 import random 2.将二维数组转换为一维 ...

  7. php多维数组化一维数组

    一.使用foreach <?php function arr_foreach ($arr) { static $tmp=array(); if (!is_array ($arr)) { retu ...

  8. implode 多维数组转一维数组并字符串输出

    //多维数组返回一维数组,拼接字符串输出 public function r_implode( $glue, $pieces ) { foreach( $pieces as $r_pieces ) { ...

  9. numpy 中的reshape,flatten,ravel 数据平展,多维数组变成一维数组

    numpy 中的reshape,flatten,ravel 数据平展,多维数组变成一维数组 import numpy as np 使用array对象 arr1=np.arange(12).reshap ...

随机推荐

  1. centos7 在docker下安装mongodb

    第一步:安装 1.1 查找(查看)mongo相应的版本 [root@localhost ~]# docker search mongo INDEX NAME DESCRIPTION STARS OFF ...

  2. Function's dict

    众所周知,Python是没有switch的,那么只能使用 if else来进行判断,但是if else比较冗长, 使用太多的if else 代码看起来不简洁,如下 student.py def stu ...

  3. 使用Vue+Django+Ant Design做一个留言评论模块

    使用Vue+Django+Ant Design做一个留言评论模块 1.总览 留言的展示参考网络上参见的格式,如掘金社区: 一共分为两层,子孙留言都在第二层中 最终效果如下: 接下是数据库的表结构,如下 ...

  4. 小谢第7问:js前端如何实现大文件分片上传、上传进度、终止上传以及删除服务器文件?

    文件上传一般有两种方式:文件流上传和base64方式上传,毫无疑问,当进行大文件上传时候,转为base64是不现实的,因此用formData方式结合文件流,直接上传到服务器 本文主要结合vue的来讲解 ...

  5. 洞悉MySQL底层架构:游走在缓冲与磁盘之间

    提起MySQL,其实网上已经有一大把教程了,为什么我还要写这篇文章呢,大概是因为网上很多网站都是比较零散,而且描述不够直观,不能系统对MySQL相关知识有一个系统的学习,导致不能形成知识体系.为此我撰 ...

  6. Java实现 LeetCode 670 最大交换(暴力)

    670. 最大交换 给定一个非负整数,你至多可以交换一次数字中的任意两位.返回你能得到的最大值. 示例 1 : 输入: 2736 输出: 7236 解释: 交换数字2和数字7. 示例 2 : 输入: ...

  7. Java实现 LeetCode 227 基本计算器 II(二)

    227. 基本计算器 II 实现一个基本的计算器来计算一个简单的字符串表达式的值. 字符串表达式仅包含非负整数,+, - ,*,/ 四种运算符和空格 . 整数除法仅保留整数部分. 示例 1: 输入: ...

  8. Java 实现 蓝桥杯 历届试题 分糖果

    问题描述 有n个小朋友围坐成一圈.老师给每个小朋友随机发偶数个糖果,然后进行下面的游戏: 每个小朋友都把自己的糖果分一半给左手边的孩子. 一轮分糖后,拥有奇数颗糖的孩子由老师补给1个糖果,从而变成偶数 ...

  9. Mysql添加索引及索引的优缺点

    一.什么是索引? 索引是对数据库表中的一列或多列值进行排序的一种结构,使用索引可以快速访问数据库表中的特定信息. 二.索引的作用? 索引相当于图书上的目录,可以根据目录上的页码快速找到所需的内容,提高 ...

  10. JS 姓氏,区域,消息组成的随机内容定时随机展示

    var surname_g = "\u8D75\u94B1\u5B59\u674E\u5468\u5434\u90D1\u738B\u51AF\u9648\u891A\u536B\u848B ...