Bonjour,
J'ai un array qui se présente comme cela:
Je souhaite modifier ce tableau pour ajouter la valeur contenue a l'indice n celle de n-1 (sauf pour la première case du tableau bien sur).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 0 : 0 = 10 1 = 20 2 = 40 3 = 30 1 : 0 = 50 1 = 30 2 = 10 3 = 20
Ainsi mon tableau serait:
J'ai codé cette fonction récursive:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 0 : 0 = 10 1 = 30 // (10+20) 2 = 70 // (40+30) 3 = 100 // (70+30) 1 : 0 = 50 1 = 80 // (50+30) 2 = 90 // (80+10) 3 = 110 // (90+20)
Cela m'affiche bien:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 function modifier_tableau($tableau) { $i=0; foreach ($tableau as $cle=>$valeur) { if(is_array($valeur)) { modifier_tableau($valeur); } else { if($i!=0){ $tableau[$i] = $tableau[$i]+$tableau[$i-1]; echo $i.' => '.$tableau[$i].'<br />'; $i+=1; } else { echo $i.' => '.$tableau[$i].'<br />'; $i+=1; } } } }
Mais au final le tableau que j'ai passé en paramètre n'a pas été modifié (bien que je l'ai déclaré: global $array; )
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 0 => 10 1 => 30 2 => 70 3 => 100 0 => 50 1 => 80 2 => 90 3 => 110
Avez vous une idée de comment je dois m'y prendre SVP?
Merci d'avance,
Ganok.
Partager