laravel 求个优雅的合并一个多维数组的方式?

有个集合是这样的

$arr = [
    [
        [1, 2],
        [3, 4],
        [5]
    ],
    [
        [6, 7],
        [8, 9],
        [10]
    ]
]

如何优雅的合并得到这样的结果

$arr = [
    [1, 2, 6, 7],
    [3, 4, 8, 9],
    [5, 10]
]
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
最佳答案

优雅不 :smile:

$new = array_map(function(...$item){
    return array_merge(...$item);
}, ...$arr);
4年前 评论
讨论数量: 3

优雅不 :smile:

$new = array_map(function(...$item){
    return array_merge(...$item);
}, ...$arr);
4年前 评论

优雅不 :smile:

$new = array_map(function(...$item){
    return array_merge(...$item);
}, ...$arr);
4年前 评论

@zhangrongwang 谢谢大佬 如果是集合怎么实现这种 我想整个链起来

Laravel
我看这种形式 得出的$item结果好像跟array形式的不一样

4年前 评论

@www295686243 额,Collection和Array不一样,可以先看看...语法。可以toArray转成数组来处理。其实都是遍历,不过数组提供了一些内部方法,自己封装个类似的Collection方法看起来也就优雅了(能实现的都是优雅的 :joy:)。

$arr = [
    [[1, 2], [3, 4], [5]],
    [[6, 7], [8, 9], [10]]
];
array_map(function(...$item){
    return array_merge(...$item);
}, ...$arr);
// 相当于
array_map(function($v1,$v2){
    return array_merge($v1,$v2);
},  [[1, 2], [3, 4], [5]], [[6, 7], [8, 9], [10]]);
// 遍历的时候
array_map(function($v1,$v2){
    return array_merge([1, 2],[3, 4]);
},  [[1, 2], [3, 4], [5]], [[6, 7], [8, 9], [10]]);
4年前 评论
qingshui 4年前
qingshui 4年前
CYK 4年前
CYK 4年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!