将多维数组合并到另一个多维数组中

时间:2011-03-06 19:46:08

标签: php arrays multidimensional-array

这与我以前的帖子有关。 how to create a collection of multi dimensional arrays and not overwrite origional values when new ones are pushed

我在想我的问题与我如何创建数组有关。我正在尝试做的是制作一个看起来像这样的数组

Array
(
    [10] => Array
        (
           [0] => 29
           [1] => 36
        )

)

这样的事情

    Array
    (
        [10] => Array
            (
               [0] => 29
               [1] => 36
            )


 [20] => Array
            (
               [0] => 29
               [1] => 36
            )


 [25] => Array
            (
               [0] => 29
               [1] => 36
            )

    )

10,20和25是产品ID,其中的数字是在该页面上选择的选项(在我上面给出的链接中)。所以每个产品都会选择自己的系列。

当我使用array_push而不是按照我想要的方式执行第一个数组时,如第一个示例所示,继续重置。因此,如果我在说传单上做我的选择并添加到购物车然后我去名片并做我的选择并添加到购物车阵列重置,它就像第一个例子。无论我尝试什么,我不能让它合并在一个集合下面,就像我有的第二个例子。我已经尝试过array_merge(),array_push,但那些都不行。

1 个答案:

答案 0 :(得分:1)

<强>解决方案: -

如果要将第二个数组中的数组元素追加到第一个数组而不覆盖第一个数组中的元素而不重新编制索引,请使用 + array union operator

$a = array(10 => array(25,26));
$b = array(22 => array(45,66));
$c = $a + $b;
print_r($c);

<强>输出: -

Array
(
    [10] => Array
        (
            [0] => 25
            [1] => 26
        )

    [22] => Array
        (
            [0] => 45
            [1] => 66
        )
)

希望这有帮助。