if $a and $b are bothe arrays the what would be the result of $a+$b?
Possible Duplicate:
+ operator for array in PHP?
如果$a和$b都是阵列,那么$a + $b的结果是什么?
- 当然,您可以对一个测试脚本进行CRR以找出……为什么这个问题?
- PHP中数组的+运算符重复?
- electricaltoolbox.com/using-plus-merge-array-php
http://www.php.net/manual/en/language.operators.array.php
The + operator appends elements of
remaining keys from the right handed
array to the left handed, whereas
duplicated keys are NOT overwritten.
结果是:
1 2 3 4 5 6
| Array
(
[0] => 1
[1] => 2
[2] => 3
) |
但是:
1 2 3 4 5 6 7
| <?php
$a = array('a' => 1, 'b' => 2, 'c' => 3);
$b = array('d' => 4, 'e' => 5, 'f' => 6);
$c = $a + $b;
print_r($c); |
结果:
1 2 3 4 5 6 7 8 9
| Array
(
[a ] => 1
[b ] => 2
[c ] => 3
[d ] => 4
[e ] => 5
[f ] => 6
) |
所以这里的答案似乎取决于数组的键控方式。
- 我只是对完全相同的变量名、值和函数(在编辑之前);做了同样的操作。
现在试试这个实验
1 2 3 4 5 6 7 8 9 10 11
| $a = array( 0 => 1,
1 => 2,
4 => 3
);
$b = array( 2 => 4,
4 => 5,
6 => 6
);
$c = $a + $b;
var_dump($c); |
我的测试
1 2 3 4 5 6 7 8 9 10
| $ar1 = array('1', '2');
$ar2 = array('3', '4');
$test = $ar1 + $ar2;
print_r($test);
Array
(
[0] => 1
[1] => 2
) |
如果你做了类似于$result = $a + $b;的事情,那么$result将被分配到第一个参数,在本例中是$a。
- 如果$A和$B是键控数组,则不会。
- 建议你更深入地看待这个问题,这种行为并不像你说的那么简单。