在不重新索引的情况下合并两个关联数组-PHP

在不重新索引的情况下合并两个关联数组-PHP,php,indexing,merge,associative-array,array-merge,Php,Indexing,Merge,Associative Array,Array Merge,如果不重新编制索引,如何合并2个关联数组?我不喜欢使用foreach或for循环,有更好的主意吗 $a1=array(555=>array('name'=>'First Name','surname'=>'Second Name'), 888=>array('name'=>'New First Name','surname'=>'New Second Name')); $a2=array(888=>array('invite'=>false), 5

如果不重新编制索引,如何合并2个关联数组?我不喜欢使用foreach或for循环,有更好的主意吗

$a1=array(555=>array('name'=>'First Name','surname'=>'Second Name'), 888=>array('name'=>'New First Name','surname'=>'New Second Name'));
$a2=array(888=>array('invite'=>false), 555=>array('invite'=>true)); 
$result=array(555=>array('name'=>'First Name','surname'=>'Second Name', 'invite'=>true), 888=>array('name'=>'New First Name','surname'=>'New Second Name', 'invite'=>false));

使用
array\u merge
函数或
$a1+$a2

使用
array\u replace\u recursive
将邀请项添加到相应的源数组元素中

array_replace_recursive($a1, $a2);
您应该使用函数

这将打印:

Array ( [555] => Array ( [name] => First Name [surname] => Second Name [invite] => 1 ) [888] => Array ( [name] => New First Name [surname] => New Second Name [invite] => ) )

不同之处在于重复键:使用第一个键或替换最后一个键。如果希望按键排序,请将ksort(&$arr)添加到结果数组中。数组合并返回“数组([0]=>array([name]=>first name[姓氏]=>Second name)[1]=>array([name]=>New first name[姓氏]=>New Second name)[2]=>array([invite]=>)[3]=>array([invite]=>1])和$a1+$a2数组([555]=>Array([name]=>First name[姓氏]=>Second name)[888]=>Array([name]=>New First name[姓氏]=>New Second name))@Steffi抱歉,我的错。结果数组中的元素
888
在哪里?这是打字错误吗?@Anant我已经编辑了问题中的索引。我想快速准确地合并这两个数组。+10
Array ( [555] => Array ( [name] => First Name [surname] => Second Name [invite] => 1 ) [888] => Array ( [name] => New First Name [surname] => New Second Name [invite] => ) )