Есть массивы типа:
$a1 = (41, 41, 41, 42, 42, 42, 43, 43, 43);
$a2 = (1 ,2, 3, 4, 5, 6, 7, 8, 9);
$a3 = (1 ,2, 3, 4, 5, 6, 7, 8, 9);
$a4 = (1 ,2, 3, 4, 5, 6, 7, 8, 9);
Нужно сгруппировать эти массивы с учетом id так, что бы получилось:
$a1 = (41, 42, 43);
$a2 = (6, 15, 24);
и тд...
То есть для повторяющегося элемента в первом массиве, по id складывать элементы из других массивов.
Спустя 41 минута, 11 секунд (11.03.2009 - 08:22) kirik написал(а):
PHP |
$a1 = array(41, 41, 41, 42, 42, 42, 43, 43, 43); $a2 = array(1 ,2, 3, 4, 5, 6, 7, 8, 9); // 6 15 24 $a3 = array(2 ,3, 4, 5, 6, 7, 8, 9, 10); // 9 18 27 $a4 = array(9 ,8, 7, 6, 5, 4, 3, 2, 1); //24 15 6
$sum_a2 = null; $sum_a3 = null; $sum_a4 = null;
for($i = 0, $c = count($a1); $i < $c; $i++) { $sum_a2[$a1[$i]] += $a2[$i]; $sum_a3[$a1[$i]] += $a3[$i]; $sum_a4[$a1[$i]] += $a4[$i]; } $sum_a2 = array_values($sum_a2); $sum_a3 = array_values($sum_a3); $sum_a4 = array_values($sum_a4);
print_r($sum_a2); print_r($sum_a3); print_r($sum_a4); |