array_merge() 將一或多個陣列合併為單一陣列,行為取決於鍵的類型:字串鍵(關聯)後者覆蓋前者,數字鍵(非關聯)重新索引並附加。
array array_merge(array ...$arrays)
<?php
$beginning = 'foo'; // 字串會被轉為 [0 => 'foo']
$end = [1 => 'bar'];
$result = array_merge((array)$beginning, (array)$end);
print_r($result);
// Array ( [0] => foo [1] => bar )
?>
$a = [10 => 'x', 20 => 'y'];
$b = [30 => 'z'];
print_r(array_merge($a, $b));
// Array ( [0] => x [1] => y [2] => z ) // 鍵重新從 0 開始
$a = ['color' => 'red', 'size' => 'M'];
$b = ['color' => 'blue', 'shape' => 'circle'];
print_r(array_merge($a, $b));
// Array ( [color] => blue [size] => M [shape] => circle )
+ 運算子:$a + $b(前者優先,不重新索引)。array_merge_recursive)。[...$a, ...$b] 替代,語法更簡潔。理解鍵類型對合併行為的影響,能避免資料不預期覆蓋或索引錯亂。