php用加号和用array_merge合并数组的区别

我们首先给出两个数组
  1. <?php
  2. $r=array(1,2,3,4,5,6);
  3. $e=array(7,8,9,10);
  4. ?>

下面我们用array_merge和加号来何必这两数组
  1. <?php
  2. print_r($r+e);//输出<spanstyle="font-family:Simsun;font-size:16px;">Array([0]=>1[1]=>2[2]=>3[3]=>4[4]=>5[5]=>6)</span>
  3. print"<br/>";
  4. print_r(array_merge($r,$e));//输出<spanstyle="font-family:Simsun;font-size:16px;">Array([0]=>1[1]=>2[2]=>3[3]=>4[4]=>5[5]=>6[6]=>7[7]=>8[8]=>9)</span>
  5. ?>

从这里可以看出,用array_merge合并数组一个数组中的值附加在前一个数组的后面。返回作为结果的数组如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面。 然而用加号来合并数组如果键名相同,则取最先出现的数组值,后面的就直接忽略掉


下面我们来改变下前面给出的数组

  1. <?php
  2. $r=array('r'=>1,2,3,4,5,6);
  3. $e=array(<spanstyle="background-color:rgb(245,250,255);">'r'=></span>7,8,9,10);
  4. ?>

  1. <?php
  2. print_r($r+e);//输出Array([r]=>1[0]=>2[1]=>3[2]=>4[3]=>5[4]=>6)
  3. print"<br/>";
  4. print_r(array_merge($r,$e));//输出Array([0]=>1[1]=>2[2]=>3[3]=>4[4]=>5[5]=>6[6]=>7[7]=>8[8]=>9)
  5. ?>
从这里可以看出,用array_merge合并数组 一个数组中的值附加在前一个数组的后面。如果非数字键名相同 ,则后面数组的值会覆盖前面数组的值。 然而用加号来合并数组如果键名相同,则取最先出现的数组值,后面的就直接忽略掉

你可能感兴趣的:(array)