phpでプラス記号とarrayを使うmerge連結配列の区別の深い分析

1702 ワード

まず2つの配列を示します
 
  
         $r = array(1,2,3,4,5,6); 
     $e = array(7,8,9,10); 
    ?> 

次にarrayを使いますmergeとプラス記号はこの2つのグループを必要としない.
 
  
        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マージ配列1つの配列の値は、前の配列の後ろに付加されます.結果として返される配列配列に数値キー名が含まれている場合、後の値は元の値を上書きするのではなく、後に付加されます.ただし、プラス記号で配列をマージキー名が同じであれば、最初に現れた配列値を取り、その後は無視します.
次に、前に示した配列を変更します.
 
  
         $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マージ配列1つの配列の値は、前の配列の後ろに付加されます.数値キー名が同じでない場合、後ろの配列の値は前の配列の値を上書きします.ただし、プラス記号で配列をマージキー名が同じであれば、最初に現れた配列値を取り、その後は無視します.