我有两个数组array1和array2,我想将array2的所有元素添加到array1的末尾。 array1包含许多项目。
键是数字的,我不想要这种语法:
array1 = array1 + array2
或
array1 = SomeArrayFun(array1,array2)
因为它消耗了CPU时间(因为数组创建了两次)
我想要的是:
array1 . SomeAddFun(array2); // This will not create any new arrays
有什么办法吗?
答案 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)
您可以将ArrayObject
与append
功能一起使用:
$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"
}
不知道是否附加数组,因为它们似乎被附加为“子阵列”而不是整体的一部分。