2013年3月14日木曜日

配列の結合について

配列の結合にはarray_mergeを使う方法と+演算子を使う方法があると思いますが、違いについて確認してみました。

サンプルコード
実行結果
Array
(
    [0] => a0
    [1] => a1
    [2] => a2
    [a] => ba
    [b] => bb
    [c] => bc
    [3] => b0
    [4] => b1
    [5] => b2
)
Array
(
    [0] => a0
    [1] => a1
    [2] => a2
    [a] => aa
    [b] => ab
    [c] => ac
)
ということで、表にまとめるとこのような感じになります。
配列の結合と重複した添字の関係
数値文字列
array_merge後の配列は後ろに追加後の配列の値で上書き
前の配列の値で上書き前の配列の値で上書き

ちなみに、お決まりのベンチマークです

サンプルコード 実行結果
BenchMark 1     average:0.029446578025818
BenchMark 2     average:0.011990690231323
やっぱりarray_mergeを使わない方が速いですね。
ですがこの二種類は使い所が違うので、違いをしっかり把握しておくことが重要だと思います。

0 件のコメント:

コメントを投稿