こんにちは。
マンションのベランダ掃除をするとお隣さんに迷惑がかかりそうなので長らくベランダ掃除を躊躇している裕です。
ややこしい配列操作苦手意識を持っている方も多いと思います。
配列に配列を結合したい時ってありますよね?
そこで今回はPHP初心者に向けて、
配列に配列を結合する方法 array_marge
について解説します。
ぜひ、読んでみて理解を深めてみて下さいね。
目次
array_mergeで配列に配列をマージ(結合)する
まずarray_mergeの基本的な書き方です。
array_merge ( array $配列 [ , 追加する配列 $… ] )
今回は下記の三つのパターについて解説します。
-
前の配列の後ろに配列を追加することにより、一つまたは複数の要素を結合し、得られた配列を返します。
-
入力配列が同じキー文字列番号を有していた場合、そのキーに関する後に指定された値が、前の値を上書きします。しかし、配列が同じ添字番号を有していても値は追記されるため、このようなことはおきません。
-
入力配列の中にある数値添字要素の数値は、結果の配列ではゼロから始まる連続した数値に書き換えられます。
前の配列の後ろに配列を追加する。
例文です。
<?php
$fruit1 = array(“orange”, “banana”);
$fruit2 = array(“apple”, “grape”);
$fruit3 = array(“strawberry”, “melon”);
$fruit_basket = array_merge($fruit1, $fruit2, $fruit3);
print_r($fruit_basket);
?>
結果は下記になります。
Array
(
[0] => “orange”
[1] => “banana”
[2] => “apple”
[3] => “grape”
[4] => “strawberry”
[5] => “melon”
)
array_merge() によって $fruit1、$fruit2、$fruit3が結合された$fruit_basketができました。
入力配列が同じキー文字列番号を有していた場合
例文です。
<?php
$array1 = array(“fruit” => “apple”, 2, 4);
$array2 = array(“a“, “b“, “fruit” => “orange”, “season” => “summer”, 4);
$result = array_merge($array1, $array2);
print_r($result);
?>
実行結果は下記になります。
Array // $array1
(
[fruit] => apple
[0] => 2
[1] => 4
)
Array // $array2
(
[0] => a
[1] => b
[fruit] => orange
[season] => summer
[2] => 4
)
Array // $result
(
[fruit] => orange
[0] => 2
[1] => 4
[2] => a
[3] => b
[season] => summer
[4] => 4
)
入力配列が同じキー文字列番号を有していた場合、そのキーに関する後に指定された値が、前の値を上書きします。
→ $array1 の [fruit] => orange が $array2 の [fruit] => orange に上書きされてしまいました。
配列が同じ添字番号を有していても値は追記されるため、このようなことはおきません。
→そのほかの要素は$array1と$array2の添字とは関係なく新たに添字を振り直されています。
入力配列の中にある数値添字要素の数値。
例文です。
<?php
$array1 = array();
$array2 = array(1 => “orange”, 3 => “apple”);
$result = array_merge($array1, $array2);
print_r($result);
?>
実行結果です。
Array
(
[0] => orange
[1] => apple
)
上記の通り、入力配列の中にある数値添字要素の数値は、結果の配列ではゼロから始まる連続した数値に書き換えられます。
まとめ
いかがでしたか?
今回は配列に配列を結合する「array_merge」について、解説しました。
これで配列の結合ができるようになりましたね。
しっかりと理解して使いこなせるようになりましょう。