関数・クラス解説

array_merge

version:PHP 4, PHP 5, PHP 7 (公式)

ひとつまたは複数の配列をマージする

公式リファレンス

書式

array_merge ( array ...$arrays ) : array

説明

前の配列の後ろに配列を追加することにより、 ひとつまたは複数の配列の要素をマージし、得られた配列を返します。

入力配列が同じキー文字列を有していた場合、そのキーに関する後に指定された値が、 前の値を上書きします。しかし、配列が同じ添字番号を有していても 値は追記されるため、このようなことは起きません。

入力配列の中にある数値添字要素の添字の数値は、 結果の配列ではゼロから始まる連続した数値に置き換えられます。

パラメータ

arrays
マージしていく任意の数の配列のリスト。

返値

結果の配列を返します。 引数なしで呼ばれた場合、空の array を返します。

更新履歴

バージョン 説明
7.4.0 この関数は、引数なしでも呼び出せるようになりました。 このバージョンより前では、少なくともひとつの引数が必須でした。

サンプル

例1 array_merge() の例

$array1 = array("color" => "red", 2, 4); $array2 = array("a", "b", "color" => "green", "shape" => "trapezoid", 4); $result = array_merge($array1, $array2); print_r($result);

上の例の出力は以下となります。

Array ( [color] => green [0] => 2 [1] => 4 [2] => a [3] => b [shape] => trapezoid [4] => 4 )

例2 簡単な array_merge() の例

$array1 = array(); $array2 = array(1 => "data"); $result = array_merge($array1, $array2);

数値添字が振りなおされることに注意!

Array ( [0] => data )

二番目の配列の要素を最初の配列に追加したい (最初の配列に存在する要素は上書きせず、添字も変更しない) 場合は、配列結合演算子 + を使います。

$array1 = array(0 => 'zero_a', 2 => 'two_a', 3 => 'three_a'); $array2 = array(1 => 'one_b', 3 => 'three_b', 4 => 'four_b'); $result = $array1 + $array2; var_dump($result);

最初の配列のキーはそのまま残ります。 両方の配列に同じキーが存在する場合は最初の配列のものが残り、 二番目の配列の内容は無視されます。

array(5) { [0]=> string(6) "zero_a" [2]=> string(5) "two_a" [3]=> string(7) "three_a" [1]=> string(5) "one_b" [4]=> string(6) "four_b" }

例3 array_merge() で配列以外の型を扱う例

$beginning = 'foo'; $end = array(1 => 'bar'); $result = array_merge((array)$beginning, (array)$end); print_r($result);

上の例の出力は以下となります。

Array ( [0] => foo [1] => bar )

参考

  • array_merge_recursive() - 一つ以上の配列を再帰的にマージする
  • array_replace() - 渡された配列の要素を置き換える
  • array_combine() - 一方の配列をキーとして、もう一方の配列を値として、ひとつの配列を生成する
  • 配列演算子
  • ワード検索


    ※入力キーワードが、関数名・説明文・タグに含まれるものを検索

    関数名アルファベット別

    A B C D E F G H I J
    K L M N O P Q R S T
    U V W X Y Z _

    最終更新一覧

    stristr
     大文字小文字を区別せず文字列を検索し、ヒット箇所以降(あるいは以前)の文字列を返却

    stripslashes
     バックスラッシュでエスケープされた文字列から、バックスラッシュを取り除く

    stripos
     大文字小文字を区別せずに文字列が最初に現れる位置を取得する

    stripcslashes
     addcslashes() でクォートされた文字列をアンクォートする

    strip_tags
     文字列から HTML と PHP のタグを除去して返却

    strcspn
     指定した文字が最初に現れる位置を調べる

    strcoll
     ロケールに基づいて2つの文字列を比較し同じか(あるいは大小)を判定する

    strcmp
     2つの文字列を比較し同じか(あるいは大小)を判定する

    strchr
     strstr() のエイリアス

    strcasecmp
     2つの文字列を比較(大文字小文字を区別せず同じとみなす)

    カテゴリー一覧

    PHP の振る舞いの変更
    音声フォーマットの操作
    認証サービス
    コマンドライン関連
    圧縮およびアーカイブ
    暗号
    データベース関連
    日付および時刻関連
    ファイルシステム
    自然言語および文字エンコーディング
    画像処理および作成
    メール関連
    数学
    テキスト以外の MIME 型
    プロセス制御
    その他の基本モジュール
    その他のサービス
    検索エンジン用の拡張モジュール
    サーバー固有のモジュール
    セッション関連
    テキスト処理
    変数・データ型関連
    ウェブサービス
    Windows 用のモジュール
    XML 操作
    GUI用の拡張モジュール