配列の結合する

 

 

配列を結合したい場合の処理です。

メモの代わりに、、、

 

f:id:sinya0228:20201206100806p:plain

 

配列の場合

以下のような配列があります。

-例文-

$array1 = ["apple","banana","orange"];
$array2 = ["berry","pineapple","mango"];

print_r($array1);
print_r($array2);

 

-結果-
Array
(
[0] => apple
[1] => banana
[2] => orange
)


Array
(
[0] => berry
[1] => pineapple
[2] => mango
)

 

 

二つの配列を結合したい場合、

以下のように記述します。

-例文-

print_r(array_merge($array1, $array2));

 

-結果-

Array
(
[0] => apple
[1] => banana
[2] => orange
[3] => berry
[4] => pineapple
[5] => mango
)

 

 

 

連想配列の場合

-例文-

  $array1 = [
"name"=>"apple",
"price"=>"200",
"color"=>"red"
];

$array2 = [
"name"=>"banana",
"price"=>"200",
"from"=>"US"
];

print_r(array_merge($array1, $array2));

 

 

-結果-
Array
(
[name] => banana
[price] => 200
[color] => red
[from] => US
)

 

キーが同じ場合だと上書きされますが、異なるキーであれば上書きはされません。

 

 

 

array_push

追加する内容に配列を指定すると、その配列自体が1つの要素として加わります。

-例文-

$array1 = ["apple","banana","orange"];
$array2 = ["berry","pineapple","mango"];

array_push($array1, $array2);
print_r($array1);

 

 

-結果-

Array
(
[0] => apple
[1] => banana
[2] => orange
[3] => Array
 (
  [0] => berry
  [1] => pineapple
  [2] => mango
 )

)

 

 

配列ではなく要素を指定すれば、そのまま追加されます。

-例文-

$array1 = ["apple","banana","orange"];

array_push($array1,"berry");
print_r($array1);

 

-結果-

Array
(
[0] => apple
[1] => banana
[2] => orange
[3] => berry
)