私は2つの配列を持っています、
$arr_1 = array(01=>5, 02=>3, 03=>2);
$arr_2 = array(01=>3, 02=>4, 03=>0);
私が達成したいのは、2 つの配列を追加した後の最終的な形式が 1 つの配列になるようにすることです。
$arr_3 = array(01=>8, 02=>7, 03=>2);
試してみarray_merge
ましたが、解決しませんでした。どうすれば最終的なフォームに到達できますか?
array_mapを試してください。PHPマニュアルより
array_map() は、それぞれにコールバック関数を適用した後、arr1 のすべての要素を含む配列を返します。コールバック関数が受け入れるパラメーターの数は、array_map() に渡される配列の数と一致する必要があります。
$arr_1 = array(01=>5, 02=>3, 03=>2);
$arr_2 = array(01=>3, 02=>4, 03=>0);
$arr_3 = array_map('add', $arr_1, $arr_2);
function add($ar1, $ar2){
return $ar1+$ar2;
}
print_r($arr_3);
出力:
Array ( [0] => 8 [1] => 7 [2] => 2 )
位置ではなくキーで一致する要素を追加する必要がある場合は、これを試すことができます。
$array1 = array(1=>5, 2=>3, 3=>2);
$array2 = array(3=>3, 2=>4, 1=>0); //unsorted array
$keys_matched = array_intersect_key ( $array1 , $array2);
foreach ($keys_matched as $key => $value) {
$result[$key] = $array1[$key] + $array2[$key];
}
print_r($result); //Displays: Array ( [1] => 5 [2] => 7 [3] => 5