我有一个序列化的数组存储在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);