PHPを独学するなら、Udemyの動画講座で
PHP 7も使えて快適な エックスサーバー

複数の配列を結合して1つにまとめるには、array_merge関数を使う方法と、配列結合演算子「+」を使う方法があります。

主な違いは、同じ名前の文字列インデックスを上書きするかどうかです。array_merge関数では、既存の要素を上書きします。次の例では、重複するインデックス「t」の「東京」が「東京都」に置き換わります。

<?php
$ar1 = array("t"=>"東京", "c"=>"千葉県");
$ar2 = array("t"=>"東京都", "k"=>"神奈川県");
print_r(array_merge($ar1, $ar2));
?>
array_merge関数による配列の結合

array_merge関数による配列の結合

配列結合演算子「+」では、既存要素を上書きしません。重複するインデックス「t」の値は「東京」のままです。

<?php
$ar1 = array("t"=>"東京", "c"=>"千葉県");
$ar2 = array("t"=>"東京都", "k"=>"神奈川県");
print_r($ar1 + $ar2);
?>
配列結合演算子「+」による配列の結合

配列結合演算子「+」による配列の結合

2つの違いを利用して、既存要素を上書きするかどうかを指定できるユーザー定義関数を作成することができます。

<?php
$ar1 = array("t"=>"東京", "c"=>"千葉県");
$ar2 = array("t"=>"東京都", "k"=>"神奈川県");

// 既存要素を上書きする
$ar3 = my_array_merge($ar1, $ar2, true);
print_r($ar3);

// 既存要素を上書きしない
$ar3 = my_array_merge($ar1, $ar2, false);
print_r($ar3);

// 上書き指定が可能な配列結合関数
function my_array_merge($ar1, $ar2, $overwrite = false) {
    if ($overwrite) {
        $temp = array_merge($ar1, $ar2); // 既存要素を上書き
    } else {
        $temp = $ar1 + $ar2; // 既存要素を上書きしない
    }

    return $temp;
}
?>
配列の結合

配列の結合

スポンサーリンク

こちらもどうぞ

こちらも参考にしてください

関連記事

MySQL

phpMyAdmin

PHPサンプルコード

PHP全般

WordPress

エラーメッセージ

PHPの基礎が身に付いたかチェック!

PHP「直す力」養成ドリル
スポンサーリンク