无法在 PHP 中连接 2 个数组

2022-08-30 08:43:03

我最近学会了如何使用PHP中的+运算符加入2个数组。

但是考虑一下这段代码...

$array = array('Item 1');

$array += array('Item 2');

var_dump($array);

输出为

array(1) { [0]=> string(6) “Item 1” }

为什么这不起作用?跳过速记并使用也不起作用。它与钥匙有关吗?$array = $array + array('Item 2')


答案 1

两者都有一个键 ,并且组合数组的方法将折叠重复项。请尝试改用。0array_merge()

$arr1 = array('foo'); // Same as array(0 => 'foo')
$arr2 = array('bar'); // Same as array(0 => 'bar')

// Will contain array('foo', 'bar');
$combined = array_merge($arr1, $arr2);

如果数组中的元素使用不同的键,则运算符会更合适。+

$arr1 = array('one' => 'foo');
$arr2 = array('two' => 'bar');

// Will contain array('one' => 'foo', 'two' => 'bar');
$combined = $arr1 + $arr2;

编辑:添加了一个代码片段来澄清


答案 2

使用
请参阅此处的文档:
http://php.net/manual/en/function.array-merge.phparray_merge()

将一个或多个数组的元素合并在一起,以便将一个数组的值追加到前一个数组的末尾。它返回生成的数组。