PHP 配列の連結 通常配列と連想配列、array_merge と +連結の違い

スポンサーリンク

<?php
// 通常配列のarray_merge(添え字'2'が重複する二つの配列の場合)
 $array1 = array( 1=>"aaa", 2=>"bbb" ) ;
 $array2 = array( 2=>"ccc", 3=>"ddd" ) ;
 $array1 = array_merge($array1, $array2) ;
 print_r($array1) ;
// 結果(重複部分は上書きされず、添え字が新たに付け変わる)
 Array
 (
  [0] => aaa
  [1] => bbb
  [2] => ccc
  [3] => ddd
 )
//-------------------------------------------------------------
// 通常配列の +連結(添え字'k2'が重複する二つの配列の場合)
 $array1 = array( 1=>"aaa", 2=>"bbb" ) ;
 $array2 = array( 2=>"ccc", 3=>"ddd" ) ;
 $array1 += $array2 ;
 print_r($array1) ;
// 結果(重複部分は上書きされない)
 Array
 (
  [1] => aaa
  [2] => bbb
  [3] => ddd
 )
//-------------------------------------------------------------
// 連想配列のarray_merge(添え字'2'が重複する二つの配列の場合)
 $array1 = array( 'k1'=>"aaa", 'k2'=>"bbb" ) ;
 $array2 = array( 'k2'=>"ccc", 'k3'=>"ddd" ) ;
 $array1 = array_merge($array1, $array2) ;
 print_r($array1) ;
// 結果(重複部分は上書きされる)
 (
  [k1] => aaa
  [k2] => ccc
  [k3] => ddd
 )
//-------------------------------------------------------------
// 連想配列の +連結(添え字'k2'が重複する二つの配列の場合)
 $array1 = array( 'k1'=>"aaa", 'k2'=>"bbb" ) ;
 $array2 = array( 'k2'=>"ccc", 'k3'=>"ddd" ) ;
 $array1 += $array2 ;
 print_r($array1) ;
// 結果(重複部分は上書きされない)
 Array
 (
  [k1] => aaa
  [k2] => bbb
  [k3] => ddd
 )
?>