按第一级索引合并三个二维数组[重复]

问题描述 投票:0回答:1

如何合并这些关联数组,以便保留索引 ([0],[1]) 并合并 var_id、name 和 id?我尝试过 array_combine 和 array_merge_recursive 但没有成功。

输入

Array (
    [0] => Array (
        [var_id] => 43
    )
    [1] => Array (
        [var_id] => 25
    )
)
Array (
    [0] => Array (
        [name] => Tortoise
    )
    [1] => Array (
        [name] => Black
    )
)
Array (
    [0] => Array (
        [id] => 1907
    )
    [1] => Array (
        [id] => 1908
    )
)

所需输出

Array (
    [0] => Array (
        [var_id] => 43
        [name] => Tortoise
        [id] => 1907
    )
    [1] => Array (
        [var_id] => 25
        [name] => Black
        [id] => 1908
    )
)
php arrays multidimensional-array merge
1个回答
3
投票

假设您的三个数组分别称为

$array1
$array2
$array3
,这是一个可以执行您想要的操作的循环:

foreach(array($array1, $array2, $array3) AS $array) {
    foreach($array AS $key => $value) {
        foreach($value AS $subkey => $subvalue) {
            $final[$key][$subkey] = $subvalue;
        }
    }
}

工作示例:http://3v4l.org/GY9oa

如果要合并的输入数组数量未知,则将其转换为处理该问题的函数是很简单的。

© www.soinside.com 2019 - 2024. All rights reserved.