外部ソースからの 4 つまたは 5 つのレベルにネストされた 2 つの配列があります (そのため、可能であれば構造を手動で変更することはできませんし、したくありません)。以下に問題を単純化しましたが、構造が制御不能であるため、ある程度一般的な解決策が必要であることを覚えておいてください。
$x = array (
'one' =>
array (
'two' => 2,
'three' =>
array (
0 => 3,
),
),
);
$y = array (
'one' =>
array (
'three' =>
array (
0 => 3,
),
'four' => 4,
'five' => 5,
),
'six' => 6
);
これらをマージして取得したい:
array (
'one' =>
array (
'two' => 2,
'three' =>
array (
0 => 3,
),
'four' => 4,
'five' => 5,
),
'six' => 6
)
私は次のすべてを試しましたが、正確に上記のことを教えてくれるものはありません:
var_dump($x+$y);
var_dump(array_merge($x,$y));
var_dump(array_merge_recursive($x,$y));
var_dump($y+$x);
var_dump(array_merge($y,$x));
var_dump(array_merge_recursive($y,$x));
したがって、マージを行うにはカスタム コードが必要だと思います。それはどうなりますか?汎用的かつシンプルに保ちます。