我最近学习了如何在PHP中使用+运算符连接2个数组。
但是考虑一下这段代码…
$array = array('Item 1'); $array += array('Item 2'); var_dump($array);
输出是
array(1){[0] =>字符串(6)“项目1”}
为什么这不起作用?跳过速记并使用$array = $array + array('Item 2')也不起作用。它与按键有关吗?
$array = $array + array('Item 2')
两者都有一个键0,并且组合数组的方法将折叠重复项。尝试array_merge()改为使用。
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;
编辑:添加了一个代码片段来阐明