当前位置: 首页 > 后端技术 > PHP

array_merge和+号合并数组的区别

时间:2023-03-29 13:41:19 PHP

array_merge和+号合并数组的区别先看栗子:array_merge$a=[51=>12345];$b=[10=>5678];$c=[];$c=array_merge($c,$a,$b);//数组([0]=>12345[1]=>5678)$a=[51=>12345];$b=[51=>5678];$c=[];$c=array_merge($c,$a,$b);打印_r($c);//数组([0]=>12345[1]=>5678)$a=['aa'=>12345];$b=['aa'=>5678];$c=[];$c=array_merge($c,$a,$b);print_r($c);//Array([aa]=>5678)值覆盖:只考虑字符串索引的键值对,用后面数组的值覆盖里面相同键名的值上一个数组。数字索引的值不会被覆盖,同时保留另一个:array_merge()会重新排列两个数组的数字索引,+不会。+符号$a=[51=>12345];$b=[10=>5678];$c=[];$C=$a+$b;//数组([51]=>12345[10]=>5678)$a=[51=>12345];$b=[51=>5678];$c=[];$c=$a+$b;打印_r($c);//数组([51]=>12345)$a=['aa'=>12345];$b=['aa'=>5678];$c=[];$c=$a+$b;print_r($c);//Array([aa]=>12345)值覆盖:同时考虑数字索引的键值对和字符串索引的键值对,使用前面数组的值覆盖后者中相同键名的值。