階層化された連想配列の途中に値を追加したいのだが・・・
連想配列への値の追加
例えば以下のような連想配列があって
以下のやり方ではダメ
※ arr1には追加されるが、元々のarrには反映しない
ということで素直にarr配列に対してmergeするが正解のようだ
array_mergeは内部的に毎回配列のコピーを作るのかな?
だとするとデカい配列では効率悪すぎるかも
$arr = array("KEY0" => array("KEY00" => "VALUE00"));"KEY00"と同じ階層に"KEY01"を追加したい場合…
以下のやり方ではダメ
※ arr1には追加されるが、元々のarrには反映しない
$arr = array("KEY0" => array("KEY00" => "VALUE00")); $arr1 = $arr["KEY0"]; $arr1 = array_merge($arr1, array("KEY01" => "VALUE01"));
ということで素直にarr配列に対してmergeするが正解のようだ
$arr = array("KEY0" => array("KEY00" => "VALUE00")); $arr1 = $arr["KEY0"]; $arr = array_merge($arr["KEY0"], array("KEY01" => "VALUE01"));
array_mergeは内部的に毎回配列のコピーを作るのかな?
だとするとデカい配列では効率悪すぎるかも
PHP
0 件のコメント:
コメントを投稿