array_merge()は、前の配列の後ろに配列を追加することに より、二つ以上の配列の要素をマージし、得られた配列を返します。
入力配列が同じキー文字列を有していた場合、そのキーに関する後に指定された 値が、前の値を上書きします。しかし、配列が同じ添字番号を有していても 値は加算されるため、このようなことは起きません。
返される配列は、array("color" => "green", 2, 4, "a", "b", "shape" => "trapezoid", 4)となります。
array_merge_recursive()も参照下さい。