在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
        )
)

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

您要找的是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);

最新更新