2

我有一个存储在 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
        )
)
4

2 回答 2

7

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

于 2013-03-24T15:24:14.443 回答
-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);

看到它在行动

于 2013-03-24T15:24:01.977 回答