Boucle

Répondre
antoine
le 13/02/2007 à 21:02
antoine
Bjr

Je seche sur un algo surement tout con !(for do while .ou un truc dans le genre..??)
Voila j'ai un certains nombres d'array (jamais le meme nombre) Il me faut les valeurs de tous les arrays jusque la ca marche mais a la fin je ne veux plus que 1 array j'ai trouvé mais j'arrive pas a l'automatiser

dans cet exemple j'ai 4 array de 0 à 3, ca me donne bien le resultat final,(le nombre d'array je peux l'avoir au debut , on va dire que c'est la variable $i.

mon code (Sum_tab est une fonction) puis ...

$t = Sum_tab($array[0],$array[1]);
$t = Sum_tab($t,$array[2]);
$t = Sum_tab($t,$array[3]);

print_r($t);
jocker
le 14/02/2007 à 10:37
jocker
$i=0;
$t= array();

while ($i < 4){
$t = Sum_tab($t,$array[$i+1]);
$i++;
}

ou qqch comme ça. Je sais pas si ca va t'aider parce que j'ai pas bien compris ce que tu voulais faire en fait, mais si tu demandes avec une boucle while, voilà un exemple.

Bonne chance ++
antoine
le 14/02/2007 à 12:06
antoine
Merci Jocker

Oui un truc dans le style mais ca marche pas

je te reexplique je pense que t'es pres de la solution

ca ca marche mais c'est moi qui met les index des array (tableau)
Ici j'ai 4 tableaux de 0 à 3
je fais la somme de [0] et de [1] (fonction Sum_tab) qui sera egale a $t
ensuite je prends cette somme $t et je refais la meme chose avec $t et [2]
ensuite je reprends la somme de la somme et je rajoute [3] etc ainsi de suite pour n tableaux
Si j'avais toujours 3 ou 4 tableaux (array) je laisserai comme ca mais je peux en avoir jusqu'a 400 tu vois la longueur du code ...

$t = Sum_tab($tableau[0],$tableau[1]);
$t = Sum_tab($t,$tableau[2]);
$t = Sum_tab($t,$tableau[3]);


Si tu as une idée je suis preneur j'arrive pas a raisonner avec ce truc qui doit etre en plus tout simple
Antoine
jocker
le 14/02/2007 à 12:11
jocker
tu as essayé avec array_sum(). Est ce que tu pourrais mettre ta fct sum_tab stp

sinon je ferrai ça moi :


$i = 0;
while ($i<4){
$total += array_sum($tableau[$i])
$i++;
}

je pense ca doit répondre à ton attente.

tien moi au courant
++
antoine
le 14/02/2007 à 12:23
antoine
Super Jocker ca marche !!

Ci dessous la fonction,elle additionne 2 tableaux sur les cles meme si le nombre de cles est pas identique si ca peut te servir

// fait la somme d'un array à n element sur les cles
function Sum_tab($a1, $a2)
{
foreach($a2 as $key=>$value)
{
if(!isset($a1[$key]))
{
$a1[$key] = (int)$value;
}
else
{
$a1[$key] += $value;
}
}
return $a1;
}


Encore merci et bon appetit
A+
jocker
le 14/02/2007 à 12:30
jocker
mouais, je trouve pas très propre ta fonction.

Enfin si maintenant ça marche tant mieux :))

++
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours