在PHP中合并关联数组

时间:2013-03-24 15:20:03

标签: php

我有一个存储在cookie中的序列化数组,在我的应用程序中的某一点我需要将这个数组与另一个具有相同设计的数组合并,所以:

数组1:

$arr1 = array(
            "user_id" => 1,
            "item_id" => 2,
            "quant" => 3
        );

我在一个cookie中设置了这个:

serialize($arr1);

数组2:

$arr2 = array(
            "user_id" => 5,
            "item_id" => 5,
            "quant" => 6
        );

我尝试合并两个数组: 首先,我反序列化我的cookie中的第一个数组值,然后与第二个数组合并

$un_arr1 = unserialize($cookie_val);
$final = array_merge($arr2, $un_arr1);

这只返回第一个数组中的值。

我想要实现的目标:

Array
(
    [0] => Array
        (
            [user_id] => 1
            [item_id] => 2
            [quant] => 3
        )

    [1] => Array
        (
            [user_id] => 4
            [item_id] => 5
            [quant] => 6
        )
)

2 个答案:

答案 0 :(得分:7)

$final = array($array1, $array2);

答案 1 :(得分:-2)

您正在寻找array_merge_recursive而不是array_merge

<?php

$A = array('a' => 1, 'b' => 2, 'c' => 3);
$B = array('c' => 4, 'd'=> 5);

$result = array_merge_recursive($A, $B);

print_r($result);

See it in action