Ik probeer een functie te schrijven die de eerste, tweede, derde, etc. elementen van een x aantal arrays optelt en in een nieuwe array zet:
Deze code geeft als resultaat
Maar ik verwachtte
Ik zie wat er verkeerd gaat: hij telt de inhoud van elke array bij elkaar op ipv de eerste elementen van alle array's etc. Ik snap alleen niet hoe mijn loop anders moet. Ik raak erg in de war van alle $i's en $j's
Graag jullie hulp!
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| $arr = array( array(3, 5, 7, 9), array(2, 4, 6, 8), array(1, 3, 5, 7) ); function add_arrays($arr) { for ($i = 0; $i < count($arr); $i++) { for ($j = 0; $j < count($arr[$i]); $j++) { $totals[$i] = $totals[$i] + $arr[$i][$j]; } } print_r($totals); } add_arrays($arr); |
Deze code geeft als resultaat
code:
1
2
3
4
5
| Array ( [0] => 24 // 3 + 5 + 7 + 9 [1] => 20 // 2 + 4 + 6 + 8 [2] => 16 // 1 + 3 + 5 + 7 ) |
Maar ik verwachtte
code:
1
2
3
4
5
6
| Array ( [0] => 6 // 3 + 2 + 1 [1] => 12 // 5 + 3 + 3 [2] => 18 // 7 + 6 + 5 [3] => 34 // 9 + 8 + 7 ) |
Ik zie wat er verkeerd gaat: hij telt de inhoud van elke array bij elkaar op ipv de eerste elementen van alle array's etc. Ik snap alleen niet hoe mijn loop anders moet. Ik raak erg in de war van alle $i's en $j's