0

2 つの配列を結合し、重複したキーをオーバーライドしたいのですが、すべてのインデックスを再インデックスしたくありません。それを行う機能はありますか?

両方のユニオン構造が必要なので、各キーにどのコンテンツが含まれているかは問題ではありません。

配列 1:

[820]
   [name1]
      [id] = "My Name"
   [name2]
      [id] = "Your Name"
[830]
   [id] = "Mothers Name"

配列 2:

[815]
   [name1]
      [id] = "IDs Name"
[820]
   [name1]
      [id] = "Names Name"
   [id] = "Last ID ID"

結果は

[815]
   [name1]
      [id] = //does not matter
[820]
   [name1]
      [id] = //does not matter
   [name2]
      [id] = //does not matter
   [id] = //does not matter
[830]
   [id] = //does not matter
4

1 に答える 1

0
$result = array();
foreach ($array1 as $key => $value){
    if(isset($array2[$key]))
        $result[$key] = array_merge($value, $array2[$key]);
    else 
        $result[$key] = $value;
}
foreach ($array2 as $key => $value){
    if(isset($array1[$key]))
        $result[$key] = array_merge($value, $array1[$key]);
    else 
        $result[$key] = $value;
}
于 2013-06-04T06:40:54.280 に答える