php - array_merge 是否执行重建索引?

标签 php arrays array-merge

假设我有一个关联数组,其键是字母字符串,如果我将一些东西合并到这个数组中,它将成功合并而无需重新索引

$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/

相关文章:

javascript - 如何在 jquery 中使用 php 数组

php - 在带有 'IN(.....)' 子句的查询中使用准备好的语句?

php - foreach 键 -> foreach 外部的值

laravel-5 - Laravel 5 合并一个数组

php - 如何将数组值的数组组合成一个数组?

php - 合并后代对象的数组属性

php - 使用 JavaScript 捕获整个表单输入数据并通过 AJAX 发送

php - 如何检测设备以显示手机型号?

javascript - 在 Javascript 中将键值推送到 json 数组

javascript - 在 React Native 中使用 Map 与 Flatlist