I have two arrays. They are always the same length. If the first array element value is the same then sum of the second array element value.
Example
$array1 = array(1,2,2,3);
$array2 = array(10,20,30,50);
// I can get the sum of array1 and array2 output.
$array_sum1 = array(10,50,50);
$array3 = array(4,4,4,6);
$array4 = array(10,20,30,50);
// I can get the sum of array3 and array4 output.
$array_sum2 = array(60,50);
How do I go about achieving this?
You can use array_sum with array_map like below,
$array1 = [1, 2, 2, 3];
$array2 = [10, 20, 30, 50];
$array_sum1 = [];
foreach ($array1 as $key => $value) {
$array_sum1[$value][] = $array2[$key];
}
$array_sum1 = array_map("array_sum", $array_sum1);
print_r($array_sum1);
$array3 = [4, 4, 4, 6];
$array4 = [10, 20, 30, 50];
$array_sum2 = [];
foreach ($array3 as $key => $value) {
$array_sum2[$value][] = $array4[$key];
}
$array_sum2 = array_map("array_sum", $array_sum2);
print_r($array_sum2);die;
Output:-
Array
(
[1] => 10
[2] => 50
[3] => 50
)
Array
(
[4] => 60
[6] => 50
)