CakePHPのSetクラスにある「merge()」を使ってみました。
自分用のメモです。。。
Setクラスの「merge()」はPHP関数である「array_merge()」を再帰的に行ってくれるものです。
簡単に説明すると1つ目の配列に2つ目の配列を結合します。
記述例では
$array1 = array("color" => array("favorite" => "red"), 5);
$array2 = array(10, "color" => array("favorite" => "green", "blue"));
pr(Set::merge($array1,$array2));
結果は
Array
(
[color] => Array
(
[favorite] => green
[0] => blue
)
[0] => 5
[1] => 10
)
となります。
PHP関数の「array_merge()」では再帰的に行ってくれない部分をサポートしてくれるので、
「array_merge()」の代わりに利用することができます。
ただし注意点としてはPHP関数の「array_merge_recursive()」とは違うので、使い分けが必要な場合もあるかと思います。
ちなみに前述の例の配列を「array_merge_recursive()」で行った場合の結果は次のようになります。
Array
(
[color] => Array
(
[favorite] => Array
(
[0] => red
[1] => green
)
[0] => blue
)
[0] => 5
[1] => 10
)

コメント