ラボ > PHP:配列関連

PHP 配列と配列の結合(array_merge())

作成日:2018-02-27, 更新日:2018-05-14

基本

$ary = array_merge ( 一つ目の配列, 二つ目の配列, 三つ目の配列・・・ )

数字の添え字のときは添え字が再振りされるので注意が必要。

各サンプルは・・・「配列と配列の合体サンプル(PHP・array_merge())」参照

添え字が重複する場合の上書き

基本、後のデータを上書き

対象になる元の配列

$ary0

array (
  'key1' => 'ary0-key1',
  'key2' => 'ary0-key2',
)
$ary1

array (
  'key1' => 'ary1-key1',
  'key3' => 'ary1-key3',
)
$ary2

array (
  'key1' => 
    array (
      'chld1' => 'ary2-key1-chld1',
      'chld2' => 'ary2-key1-chld2',
    ),
  'key4' => 
    array (
      'chld1' => 'ary2-key5-chld1',
      'chld2' => 'ary2-key5-chld2',
    ),
)
$ary3

array (
  'key4' => 
    array (
      'chld1' => 'ary3-key1-chld1',
      'chld3' => 'ary3-key1-chld3',
    ),
  'key5' => 
    array (
      'chld1' => 'ary3-key7-chld1',
      'chld2' => 'ary3-key7-chld2',
    ),
)

array_merge()の結果

array_merge($ary0, $ary1)

array (
  'key1' => 'ary1-key1',
  'key2' => 'ary0-key2',
  'key3' => 'ary1-key3',
)
array_merge($ary1, $ary0)

array (
  'key1' => 'ary0-key1',
  'key3' => 'ary1-key3',
  'key2' => 'ary0-key2',
)
array_merge($ary0, $ary2)

array (
  'key1' => 
    array (
      'chld1' => 'ary2-key1-chld1',
      'chld2' => 'ary2-key1-chld2',
    ),
  'key2' => 'ary0-key2',
  'key4' => 
    array (
      'chld1' => 'ary2-key5-chld1',
      'chld2' => 'ary2-key5-chld2',
    ),
)
array_merge($ary2, $ary3)

array (
  'key1' => 
    array (
      'chld1' => 'ary2-key1-chld1',
      'chld2' => 'ary2-key1-chld2',
    ),
  'key4' => 
    array (
      'chld1' => 'ary3-key1-chld1',
      'chld3' => 'ary3-key1-chld3',
    ),
  'key5' => 
    array (
      'chld1' => 'ary3-key7-chld1',
      'chld2' => 'ary3-key7-chld2',
    ),
)
array_merge($ary3, $ary2)

array (
  'key4' => 
    array (
      'chld1' => 'ary2-key5-chld1',
      'chld2' => 'ary2-key5-chld2',
    ),
  'key5' => 
    array (
      'chld1' => 'ary3-key7-chld1',
      'chld2' => 'ary3-key7-chld2',
    ),
  'key1' => 
    array (
      'chld1' => 'ary2-key1-chld1',
      'chld2' => 'ary2-key1-chld2',
    ),
)

関連項目

配列と配列の合体サンプル(PHP・array_merge())