PHP将一个数组与另一个子数组组合起来

PHP将一个数组与另一个子数组组合起来,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,我有2个数组,我尝试合并它,因为它们的密钥长度相同,但我出错了。以下是我的数组: $arary1 = array(0=>array(0=>1, 1=>2, 2=>3), 1=>array(0=>1, 1=>2, 2=>3), 2=>array(0=>1, 1=>2, 2=>3)

我有2个数组,我尝试合并它,因为它们的密钥长度相同,但我出错了。以下是我的数组:

$arary1 = array(0=>array(0=>1, 1=>2, 2=>3),
                         1=>array(0=>1, 1=>2, 2=>3),
                         2=>array(0=>1, 1=>2, 2=>3)
                          );

 $array2 = array(
                 array(0=> 
                       array(0=>4, 1=>5, 2=>6, 3=>7, 4=>8),
                       array(0=>9, 1=>10, 2=>11, 3=>12, 4=>13),
                       array(0=>14, 1=>15, 2=>16)),
                 array(1=> 
                       array(0=>4, 1=>5, 2=>6, 3=>7, 4=>8),
                       array(0=>9, 1=>10, 2=>11, 3=>12, 4=>13),
                       array(0=>14, 1=>15, 2=>16)),
                 array(2=>
                       array(0=>4, 1=>5, 2=>6, 3=>7, 4=>8),
                       array(0=>9, 1=>10, 2=>11, 3=>12, 4=>13),
                       array(0=>14, 1=>15, 2=>16))
                 );
在这里你可以看到我想要得到的东西:

$newarray = array(
                     array(0=>
                           array(0=>1, 1=>2, 2=>3), 
                           array(0=>4, 1=>5, 2=>6, 3=>7, 4=>8),
                           array(0=>9, 1=>10, 2=>11, 3=>12, 4=>13),
                           array(0=>14, 1=>15, 2=>16)),
                     array(1=>
                           array(0=>1, 1=>2, 2=>3),  
                           array(0=>4, 1=>5, 2=>6, 3=>7, 4=>8),
                           array(0=>9, 1=>10, 2=>11, 3=>12, 4=>13),
                           array(0=>14, 1=>15, 2=>16)),
                     array(2=>
                           array(0=>1, 1=>2, 2=>3), 
                           array(0=>4, 1=>5, 2=>6, 3=>7, 4=>8),
                           array(0=>9, 1=>10, 2=>11, 3=>12, 4=>13),
                           array(0=>14, 1=>15, 2=>16))
                     );

我的阵列是动态的,但是$array1$array2的长度是相同的。有人能帮我吗?

你可以使用
array\u map
在你的数组中循环,并使用
array\u merge
合并这两个数组

$arary1 = ...

$array2 = ...

$newarray = array_map(function ($a, $b) {
    return array_merge(array($a),$b);
}, $arary1, $array2 );

echo "<pre>";
print_r( $newarray );
echo "</pre>";
或者使用
foreach
循环


Doc:,

你看了吗?@SudheeshSinganamalla是的,dones't workdid你看了array\u merge吗?
array\u merge
应该做这个工作:@whoami是的corse但是我做的就是从3数组变成6数组它只是把第一个数组加到第二个数组,但我需要把一个数组加到一个子数组中。thx很多,但是,如果不使用array\u map,我怎么做呢?“也许是一个foreach和for?”埃迪,当我们必须排列地图的时候arrays@CananauCristian我为foreachHappy添加了一个示例:)
Array
(
    [0] => Array
        (
            [0] => Array
                (
                    [0] => 1
                    [1] => 2
                    [2] => 3
                )

            [1] => Array
                (
                    [0] => 4
                    [1] => 5
                    [2] => 6
                    [3] => 7
                    [4] => 8
                )

            [2] => Array
                (
                    [0] => 9
                    [1] => 10
                    [2] => 11
                    [3] => 12
                    [4] => 13
                )

            [3] => Array
                (
                    [0] => 14
                    [1] => 15
                    [2] => 16
                )

        )

    [1] => Array
        (
            [0] => Array
                (
                    [0] => 1
                    [1] => 2
                    [2] => 3
                )

            [1] => Array
                (
                    [0] => 4
                    [1] => 5
                    [2] => 6
                    [3] => 7
                    [4] => 8
                )

            [2] => Array
                (
                    [0] => 9
                    [1] => 10
                    [2] => 11
                    [3] => 12
                    [4] => 13
                )

            [3] => Array
                (
                    [0] => 14
                    [1] => 15
                    [2] => 16
                )

        )

    [2] => Array
        (
            [0] => Array
                (
                    [0] => 1
                    [1] => 2
                    [2] => 3
                )

            [1] => Array
                (
                    [0] => 4
                    [1] => 5
                    [2] => 6
                    [3] => 7
                    [4] => 8
                )

            [2] => Array
                (
                    [0] => 9
                    [1] => 10
                    [2] => 11
                    [3] => 12
                    [4] => 13
                )

            [3] => Array
                (
                    [0] => 14
                    [1] => 15
                    [2] => 16
                )

        )

)
$newarray = array();
foreach( $arary1 as $key => $val ) {
    $newarray[] = array_merge(array($val),$array2[$key]);
}