🍎
【PHP】配列の結合
使用する配列
$fruitsA = [
0 => 'apple',
1 => 'banana',
'a' => 'cherry',
];
$fruitsB = [
1 => 'orange',
2 => 'lemon',
'a' => 'mango',
'b' => 'peach',
];
+演算子
print_r($fruitsA + $fruitsB);
//結果
Array
(
[0] => apple
[1] => banana
[a] => cherry //$fruitsAの値が優先
[2] => lemon
[b] => peach
)
//空配列の場合
print_r($fruitsA + []);
//結果
[
0 => 'apple',
1 => 'banana',
'a' => 'cherry',
]
print_r([] + $fruitsA);
//結果
[
0 => 'apple',
1 => 'banana',
'a' => 'cherry',
]
- 同じ添え字のものは$fruitsAのものが優先される。
- なので数字が添字の単純な配列同士の結合はarray_merge()のほうがいいかもしれない
- 空配列と結合する場合は空ではない方の配列の値がそのまま残る。
array_merge()
print_r(array_merge($fruitsA, $fruitsB);
//結果
[
[0] => apple
[1] => banana
[a] => mango //$fruitsBの値が優先
[2] => orange
[3] => lemon
[b] => peach
]
//空配列の場合
print_r(array_merge($fruitsA, []);
//結果
[
0 => 'apple',
1 => 'banana',
'a' => 'cherry',
]
print_r(array_merge([], $fruitsA);
//結果
[
0 => 'apple',
1 => 'banana',
'a' => 'cherry',
]
- 添字が文字列の場合は$fruitsBが優先される。
- 添字が数字のものはすべて上書きされずに残る。
- 添字は振り直される。
- 空配列と結合する場合は空ではない方の配列の値がそのまま残る
Discussion