說明
array
array_merge ( array array1 [, array array2 [, array ...]] )
array_merge() 將一個或多個陣列的單元合併起來,一個陣列中的值附加在前一個陣列的後面。返回作為結果的陣列。
若果輸入的陣列中有相同的字串鍵名,則該鍵名後面的值將覆蓋前一個值。然而,若果陣列包括數字鍵名,後面的值將不會覆蓋原來的值,而是附加到後面。
若果只給了一個陣列並且該陣列是數字索引的,則鍵名會以連續模式重新索引。
例子 1. array_merge() 例子
<?php $array1 = array("color" => "red", 2, 4); $array2 = array("a", "b", "color" => "green", "shape" => "trapezoid", 4); $result = array_merge($array1, $array2); print_r($result); ?>
|
上例將輸出:
Array ( [color] => green [0] => 2 [1] => 4 [2] => a [3] => b [shape] => trapezoid [4] => 4 )
|
|
例子 2. 簡單的 array_merge() 例子
<?php $array1 = array(); $array2 = array(1 => "data"); $result = array_merge($array1, $array2); ?>
|
別忘了數字鍵名將會被重新編號!
若果你想完全保留原有陣列並只想新的陣列附加到後面,用 + 運算符:
<?php $array1 = array(); $array2 = array(1 => "data"); $result = $array1 + $array2; ?>
|
數字鍵名將被保留從而原來的關聯保持不變。
|
警示 |
array_merge() 的行為在 PHP 5 中被修改了。和 PHP 4
不同,array_merge() 現在只接受
array 類型的參數。不過可以用強制轉換來合併其它類型。請看下面的例子。
例子 3. array_merge() PHP 5 例子
<?php $beginning = 'foo'; $end = array(1 => 'bar'); $result = array_merge((array)$beginning, (array)$end); print_r($result); ?>
|
上例將輸出:
Array ( [0] => foo [1] => bar )
|
|
|
參見 array_merge_recursive(),array_combine()
和陣列運算符。