PHPのarray_mergeメソッドの使い方とサンプルコード

PHPのarray_mergeメソッドの使い方とサンプルコード

9 回閲覧されました

みなさんこんにちは、PHPのarray_mergeメソッドの使い方と簡単なサンプルコードの解説になります。

array_mergeメソッドとは

配列同士・連想配列同士を連結して新しく1つの配列を作成します。

サンプルコード

まずは配列の場合です。

配列に共通の要素がない場合です。

下記のコードを考えます。

<?php
  $array1 = ['apple', 'banana'];
  
  $array2 = ['orange', 'grape'];

  $merged_array = array_merge($array1, $array2);

  print_r($merged_array);
?>

//出力結果
Array
(
    [0] => apple
    [1] => banana
    [2] => orange
    [3] => grape
)

次は配列に共通の要素がある場合です。

下記のコードを考えます。

<?php
  $array1 = ['apple', 'banana', 'cherry'];
  
  $array2 = ['banana', 'date', 'fig'];

  $result = array_merge($array1, $array2);

  print_r($result);
?>

//出力結果
Array
(
    [0] => apple
    [1] => banana
    [2] => cherry
    [3] => banana
    [4] => date
    [5] => fig
)

共通の要素があっても別の要素として配列に追加されます。

次は連想配列です。

連想配列の場合はキーの値が文字の場合に挙動が変わります。

まずはキーが数値の場合です。

<?php
  $array1 = [
      0 => 'apple',
      1 => 'banana',
      2 => 'cherry',
  ];

  $array2 = [
      1 => 'blueberry', 
      2 => 'date',      
      3 => 'fig',
  ];

  $result = array_merge($array1, $array2);

  print_r($result);
?>

//出力結果
Array
(
    [0] => apple
    [1] => banana
    [2] => cherry
    [3] => blueberry
    [4] => date
    [5] => fig
)

配列と同じ挙動です。

次はキーが文字列の場合です。

<?php
  $array1 = ['a' => 'apple', 'b' => 'banana'];
  
  $array2 = ['b' => 'blueberry', 'c' => 'cherry'];

  $merged_array = array_merge($array1, $array2);

  print_r($merged_array);
?>

//出力結果
Array
(
    [a] => apple
    [b] => blueberry
    [c] => cherry
)

キーが数値の場合は同じ値があっても別の物と判定されますがキーが文字列の場合は同じ物と判定されて最初に出てきた値が削除になります。