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 )
コメント