我有两个具有相同键但值不同的数组。我需要合并它,但如果值相同,则只留下其中一个
$array1 = array('firstname'=> $may_name, 'lastname'=>$my_last_name, 'address'=>$addres_1);
$array2 = array('firstname'=> $may_name, 'lastname'=>$my_last_name, 'address'=>$addres_2);
我需要得到:
$array_result = array('firstname'=> $may_name, 'lastname'=>$my_last_name, 'address'=>$addres_1, 'address'=>$addres_2);
任何人都可以帮忙解决这个问题吗?
array_merge
对我不起作用..
答案 0 :(得分:1)
首先,您需要使用array_merge()
函数合并2个数组。然后使用array_unique()
函数从数组中获取唯一元素将获得结果
var_dump(array_unique(array_merge($array1, $array2)));
修改强>
如果输入数组具有相同的字符串键,则该键的后一个值将覆盖前一个键。但是,如果数组包含数字键,则后面的值不会覆盖原始值,但会附加。 php doc
谢谢@Marco