【发布时间】:2011-03-09 16:55:04
【问题描述】:
【问题讨论】:
-
您当然可以编写一个测试脚本来找出答案。为什么会出现这个问题?
【问题讨论】:
<?php
$a = array(1, 2, 3);
$b = array(4, 5, 6);
$c = $a + $b;
print_r($c);
结果对我来说:
Array
(
[0] => 1
[1] => 2
[2] => 3
)
但是:
<?php
$a = array('a' => 1, 'b' => 2, 'c' => 3);
$b = array('d' => 4, 'e' => 5, 'f' => 6);
$c = $a + $b;
print_r($c);
结果:
Array
(
[a] => 1
[b] => 2
[c] => 3
[d] => 4
[e] => 5
[f] => 6
)
因此,这里的答案似乎取决于您的数组的键控方式。
【讨论】:
http://www.php.net/manual/en/language.operators.array.php
Union of $a and $b.
+ 运算符附加 右手剩余的钥匙 数组到左手,而 不会覆盖重复的键。
【讨论】:
我的测试
$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 = array( 0 => 1,
1 => 2,
4 => 3
);
$b = array( 2 => 4,
4 => 5,
6 => 6
);
$c = $a + $b;
var_dump($c);
【讨论】: