我最近经常看到以下内容,我想知道它的作用是什么?我似乎无法在PHP手册中找到它.
$arr1 = array('key' => 'value1');
$arr2 = array('key' => 'value2');
$arr1 += $arr2;
Run Code Online (Sandbox Code Playgroud)
它与array_merge类似吗?
我知道以下是什么,但我不明白它在使用数组时的作用:
$var1 = 1;
$var2 = 2;
$var1 += $var2;
echo $var1; // 3
Run Code Online (Sandbox Code Playgroud)
$arr1 += $arr2是的缩写$arr1 = $arr1 + $arr2.
所述+阵列操作者执行以下操作:
$arr1和$arr2,除了一个条件.$arr1.$arr2将在那之后的元素$arr1.这不同于array_merge:
$arr1和$arr2,除了下一个条件.$arr2.$arr1,然后移动到元素$arr2.$arr2将是后的那些$arr1,除了字符串元素,这将是在它们出现的第一阵列的位置.例:
<?php
$arr1 = array(1 => 'value1.1', 10 => 'value1.2', 's' => 'value1.s');
$arr2 = array(1 => 'value2', 2=> 'value2.2', 's' => 'value2.s');
var_dump(array_merge($arr1,$arr2));
$arr1 += $arr2;
var_dump($arr1);
Run Code Online (Sandbox Code Playgroud)
结果(为清晰起见编辑):
array(5) {
[0] => string(8) "value1.1"
[1] => string(8) "value1.2"
["s"] => string(8) "value2.s"
[2] => string(6) "value2"
[3] => string(8) "value2.2"
}
array(4) {
[1] => string(8) "value1.1"
[10] => string(8) "value1.2"
["s"] => string(8) "value1.s"
[2] => string(8) "value2.2"
}