私は2つの配列を持っています:
$array1 = array (a => '501', b => '1');
$array2 = array (a => '501', b => '2');
マージされた配列は次のようになります。
$merged_array = array (a => '501', b => '3');
私は多くの提案を試しましたが、そのうちの1つは次のとおりです。
$sums = array();
foreach (array_keys($array1 + $array2) as $key) {
$sums[$key] = (isset($array[$key]) ? $array[$key] : 0) + (isset($array2[$key]) ? $array2[$key] : 0);
}
しかし、これは次の結果になります。
$merged_array = array (a => '1002', b => '3');
これはどのようにすればよいですか?どんなアドバイスも大歓迎です
編集:いくつかのコメントを読んだ後、私はもっと明確にすべきだったと気づきました。下記参照
4つの配列、「a」の重複に注意してください。
$array1 = array (a => '501', b => '1');
$array2 = array (a => '501', b => '2');
$array3 = array (a => '505', b => '1');
$array4 = array (a => '509', b => '1');
4つのマージされたアレイとシリアル化されたものは次のようになります
a:2:{s:1:"a";i:501;s:1:"b";i:3; s:1:"a";i:505;s:1:"b";i:1; s:1:"a";i:509;s:1:"b";i:1;}
つまり、2x a=>'501'は1xa=> '501'になり、'b'キーは'3'になります(合計)
および:1x a=>'505'およびb=>'1'
および:1x a=>'509'およびb=>'1'