PHP将任意二维数组转换成一维数组

核心函数:array_reduce()

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

如果指定第三个参数,则该参数将被当成是数组中的第一个值来处理,或者如果数组为空的话就作为最终返回值。

  1. 二维数组的键值为数字
$egArray = [
	'a' => ['a', 'aa'],
	'b' => ['b', 'bb']
];
var_dump($egArray);die;

/* 打印结果 ==================================================== Array ( [a] => Array ( [0] => a [1] => aa ) [b] => Array ( [0] => b [1] => bb ) ) */

// 进行处理 ====================================================

var_dump(array_reduce($egArray , 'array_merge', []));

/* 打印结果 ==================================================== Array ( [0] => a [1] => aa [2] => b [3] => bb ) */
  1. 二维数组的键值为字符串
$egArray = [
	'0' => ['aa' => 'aa1', 'aaa' => 'aaa1'],
	'1' => ['bb' => 'bb1', 'bbb' => 'bbb1']
];
var_dump($egArray);die;

/* 打印结果 ==================================================== Array ( [0] => Array ( [aa] => aa1 [aaa] => aaa1 ) [1] => Array ( [bb] => bb1 [bbb] => bbb1 ) ) */

// 进行处理 ====================================================
var_dump(
	array_reduce($egArray, function ($result, $value) { 
        return array_merge($result, array_values($value));
    }, [])
);

/* 打印结果 ==================================================== Array ( [0] => aa1 [1] => aaa1 [2] => bb1 [3] => bbb1 ) */
    原文作者:Turbo97
    原文地址: https://blog.csdn.net/qq_15957557/article/details/118104951
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞