如果我两个数组相加,会有什么结果?为什么?<?php
$m = array(1,2,3,4,5,6,7);
$n = array(8,10);
$r = $m+$n;
var_dump($r);
?>

解决方案 »

  1.   

    $m = array(1,2,3,4,5,6,7);
    $n = array(8,10);
    $r = $m+$n; 
    var_dump($r); $s = $n+$m; //换换位置
    var_dump($s); 相同的key被覆盖,以上例子都是默认数字key,当然也是相同的key
    有个数组合并函数array_merge,比较一下
    var_dump(array_merge($n,$m)); 
    var_dump(array_merge($m,$n));
    手册说得全面
      

  2.   

    引用文档里的话:
    + 运算符把右边的数组元素(除去键值与左边的数组元素相同的那些元素)附加到左边的数组后面,但是重复的键值不会被覆盖。----------------
    所以LZ那2个数组相加后仍然是$m的值。
    LZ可以考虑用array_merge()函数来实现2个数组的相加。详细的可参考文档