假设我有一个关联数组,其键是字母字符串,如果我将一些东西合并到这个数组中,它将成功合并而无需重新索引
$arr1 = array('john'=>'JOHN', 'marry'=>'Marry');
$arr1 = array_merge(array('78'=>'Angela'),$arr1);
print_r($arr1);
然后这将正确地将新组件合并到数组,其输出将是
Array
(
[0] => Angela
[john] => JOHN
[marry] => Marry
)
但是当我尝试同样的事情时
$arr1 = array('34'=>'JOHN', '04'=>'Marry');
$arr1 = array_merge(array('78'=>'Angela'),$arr1);
print_r($arr1);
那么它的输出是这样的
Array
(
[0] => Angela
[1] => JOHN
[04] => Marry
)
谁能描述一下这个场景...... 我也希望我的数组在合并后是这样的..
Array
(
[78] => Angela
[34] => JOHN
[04] => Marry
)
我怎样才能做到这一点?
最佳答案
根据定义array_merge将重新索引数字索引。具有数值的字符串也是数字索引。
要防止这种行为,请使用 $arr1+$arr2 连接数组
关于php - array_merge 是否执行重建索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43561059/