Heim  >  Artikel  >  php教程  >  php中用加号与用array_merge合并数组的区别深入分析

php中用加号与用array_merge合并数组的区别深入分析

WBOY
WBOYOriginal
2016-06-13 11:51:531083Durchsuche

我们首先给出两个数组

复制代码 代码如下:


         $r = array(1,2,3,4,5,6); 
     $e = array(7,8,9,10); 
    ?> 


下面我们用array_merge和加号来何必这两数组

复制代码 代码如下:


        print_r($r+e); // 输出Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 )  
    print "
"; 
    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 ) 
    ?> 


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

复制代码 代码如下:


         $r = array('r'=>1,2,3,4,5,6); 
     $e = array('r'=>7,8,9,10); 
    ?> 


复制代码 代码如下:


        print_r($r+e); // 输出Array ( [r] => 1 [0] => 2 [1] => 3 [2] => 4 [3] => 5 [4] => 6 ) 
    print "
"; 
    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 ) 
    ?> 


从这里可以看出,用array_merge合并数组一个数组中的值附加在前一个数组的后面。如果非数字键名相同,则后面数组的值会覆盖前面数组的值。 然而用加号来合并数组如果键名相同,则取最先出现的数组值,后面的就直接忽略掉
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn