代码之家  ›  专栏  ›  技术社区  ›  Christian Studer delphist

如何在PHP中将数组附加到另一个数组?

  •  1
  • Christian Studer delphist  · 技术社区  · 15 年前

    我有两个顺序(非关联)数组,它们的值要合并到一个新数组中,忽略索引,但保留顺序。是否有比执行以下操作更好的解决方案(即现有的运算符或函数):

    $a = array('one', 'two');
    $b = array('three', 'four', 'five');
    
    foreach($b as $value) {
        $a[] = $value;
    }
    

    备注:“+”运算符在此不起作用(“3”的索引为0,则“1”的索引为0)。 函数数组合并有相同的问题 .

    2 回复  |  直到 15 年前
        1
  •  5
  •   nickf    15 年前

    array_merge 是你想要的,我认为你对这个覆盖问题不正确。从手册中:

    但是,如果数组包含数字键,则后面的值不会覆盖原始值,而是会被追加。

        2
  •  3
  •   Gumbo    15 年前

    $a + $b on two arrays 是联盟 $a $b :

    +运算符将剩余键的元素从右手数组附加到左手数组,而复制的键不会被覆盖。

    所以用 array_merge 要合并两个数组:

    $merged = array_merge($a, $b);