如何将数组与另一个数组组合

时间:2011-12-21 17:38:16

标签: php arrays

我有两个数组array1和array2,我想将array2的所有元素添加到array1的末尾。 array1包含许多项目。

键是数字的,我不想要这种语法:

array1 = array1 + array2

array1 = SomeArrayFun(array1,array2)

因为它消耗了CPU时间(因为数组创建了两次)

我想要的是:

array1 . SomeAddFun(array2); // This will not create any new arrays

有什么办法吗?

2 个答案:

答案 0 :(得分:5)

如果您想将数据附加到现有数组,请选择array_splice

使用正确的参数,您将能够将$array2的内容插入/附加到$array1,如下例所示。

$array1 = array (1,2,3);
$array2 = array (4,5,6);

array_splice ($array1, count ($array1), 0, $array2);

print_r ($array1);

输出:

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
    [5] => 6
)

答案 1 :(得分:0)

您可以将ArrayObjectappend功能一起使用:

$arrayobj = new ArrayObject(array('first','second','third'));
$arrayobj->append('fourth');

结果:

object(ArrayObject)#1 (5) {
  [0]=>
  string(5) "first"
  [1]=>
  string(6) "second"
  [2]=>
  string(5) "third"
  [3]=>
  string(6) "fourth"
}

不知道是否附加数组,因为它们似乎被附加为“子阵列”而不是整体的一部分。

文档:http://www.php.net/manual/en/arrayobject.append.php