一尘不染

无法在PHP中串联2个数组

php

我最近学习了如何在PHP中使用+运算符连接2个数组。

但是考虑一下这段代码…

$array = array('Item 1');

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

var_dump($array);

输出是

array(1){[0] =>字符串(6)“项目1”}

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


阅读 277

收藏
2020-05-29

共1个答案

一尘不染

两者都有一个键0,并且组合数组的方法将折叠重复项。尝试array_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;

编辑:添加了一个代码片段来阐明

2020-05-29