带有数字键的 PHP array_merge

标签 php arrays array-merge

如何使 array_merge() 覆盖两个数组中具有不同值但具有相同键索引的两个键?

例如,合并:

[0] => '随便'

[0] => 'whatever', [1] => 'a', [2] => 'b'

应该产生

[0] => 'whatever', [1] => 'a', [2] => 'b'

基本上我希望 array_merge 的行为方式与数组具有字符串键时的行为方式相同......

最佳答案

使用 + 运算符。

比较 array_merge+ 运算符:

<?php

$a1 = array(0=>"whatever",);
$a2 = array(0=>"whatever",1=>"a",2=>"b");

print_r(array_merge($a1,$a2));
print_r($a1+$a2);
?>

输出:

Array
(
    [0] => whatever
    [1] => whatever
    [2] => a
    [3] => b
)
Array
(
    [0] => whatever
    [1] => a
    [2] => b
)

如果您的关联数组的数字键乱序,+ 运算符 仍然 有效:

<?php

$a1 = array(0=>"whatever",);
$a2 = array(1=>"a",0=>"whatever",2=>"b");

print_r(array_merge($a1,$a2));
print_r($a1+$a2);
?>

输出:

Array
(
    [0] => whatever
    [1] => a
    [2] => whatever
    [3] => b
)
Array
(
    [0] => whatever
    [1] => a
    [2] => b
)

注意 array_mergethis 的情况下会创建一个新键。不可取...

关于带有数字键的 PHP array_merge,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5929642/

相关文章:

php - 我如何添加这些 JSONS

javascript - 如何在 php 中制作二维键数组?

php - CakePHP displayField 用法

在 C 中计算传递给 scanf() 的参数

javascript - 将字符串拆分为具有交替一位和两位数字的数组

javascript - JS(ES6): Merge arrays based on id and concatenating sub arrays

c++ - 在 C++ 中使用合并函数算法时遇到问题

php - 根据共享列值对关联行数据进行分组

php - JS 或 PHP 为小数添加前导零

javascript - 切换按钮以显示/隐藏来自 API 的数据