A voir également:
- Probleme tableaux php
- Easy php - Télécharger - Divers Web & Internet
- Tableaux croisés dynamiques - Guide
- Fusionner deux tableaux excel - Guide
- Barbara veut calculer automatiquement son budget dans un tableau. citez un des logiciels lui permettant de faire des calculs sur des tableaux de nombres (tableur). - Forum Musique / Radio / Clip
- Php natif - Forum PHP
12 réponses
jjsteing
Messages postés
1670
Date d'inscription
vendredi 11 mai 2007
Statut
Contributeur
Dernière intervention
21 mai 2012
181
27 juil. 2009 à 14:41
27 juil. 2009 à 14:41
Bonjour,
donc si j'ais bien compris .. tu as
$data[UnCertainNombreDePays][UneValeur]
comme :
$data["france"][0]=12
$data["france"][1]=18
$data["france"][2]=25
$data["belgique"][0]=11
$data["belgique"][1]=7
et tu voudrais savoir le total de $data["france"] et le total de $data["belgique"] c'est ca ?
donc si j'ais bien compris .. tu as
$data[UnCertainNombreDePays][UneValeur]
comme :
$data["france"][0]=12
$data["france"][1]=18
$data["france"][2]=25
$data["belgique"][0]=11
$data["belgique"][1]=7
et tu voudrais savoir le total de $data["france"] et le total de $data["belgique"] c'est ca ?
Oui c'est ca mais sans l'index des pays.
En faite j'ai un tableau excel :
1 FRANCE 12
2 ITALIE 4
3 SUEDE 6
4 ITALIE 42
5 FRANCE 2
6 SUEDE 6....
que je découpe en ligne $i puis en colonne $v
for($i=2; $i<count($lines); $i++)
{
$v = explode(';', $lines[$i]);
$exch = $v[4]
$val = $v[10]
$DATA[$exch]= array(0/*valeur*/);
$DATA[$exch][0] += abs($val);
}
j'aimerais obtenir
$DATA[FRANCE][0] = 12+2
$DATA[ITALIE][0] = 4+42
...
Mais il doit manquer un index quelque part.
merci d'avance ça fait pas mal de temps que je galère la dessus
En faite j'ai un tableau excel :
1 FRANCE 12
2 ITALIE 4
3 SUEDE 6
4 ITALIE 42
5 FRANCE 2
6 SUEDE 6....
que je découpe en ligne $i puis en colonne $v
for($i=2; $i<count($lines); $i++)
{
$v = explode(';', $lines[$i]);
$exch = $v[4]
$val = $v[10]
$DATA[$exch]= array(0/*valeur*/);
$DATA[$exch][0] += abs($val);
}
j'aimerais obtenir
$DATA[FRANCE][0] = 12+2
$DATA[ITALIE][0] = 4+42
...
Mais il doit manquer un index quelque part.
merci d'avance ça fait pas mal de temps que je galère la dessus
jjsteing
Messages postés
1670
Date d'inscription
vendredi 11 mai 2007
Statut
Contributeur
Dernière intervention
21 mai 2012
181
27 juil. 2009 à 15:31
27 juil. 2009 à 15:31
for($i=2; $i<count($lines); $i++)
{
$v = explode(';', $lines[$i]);
$exch = $v[4]
$val = $v[10]
$DATA[$exch] += abs($val); // sans le [0]
}
{
$v = explode(';', $lines[$i]);
$exch = $v[4]
$val = $v[10]
$DATA[$exch] += abs($val); // sans le [0]
}
En faite j'ai besoin du [0] car après j'aimerais faire un tableaux avec d'autre type de valeur :
for($i=2; $i<count($lines); $i++)
{
$v = explode(';', $lines[$i]);
$exch = $v[4]
$val1 = $v[10]
$val2 = $v[11]
$DATA[$exch]= array(0/*valeur 1*/, 0/*valeur 2*/);
$DATA[$exch][0] += abs($val1);
$DATA[$exch][0] += abs($val2);
}
...
for($i=2; $i<count($lines); $i++)
{
$v = explode(';', $lines[$i]);
$exch = $v[4]
$val1 = $v[10]
$val2 = $v[11]
$DATA[$exch]= array(0/*valeur 1*/, 0/*valeur 2*/);
$DATA[$exch][0] += abs($val1);
$DATA[$exch][0] += abs($val2);
}
...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Je me suis tromper dans la dernière ligne :
$DATA[$exch]= array(0/*valeur 1*/, 0/*valeur 2*/);
$DATA[$exch][0] += abs($val1);
$DATA[$exch][1] += abs($val2);
voila...si tu as une idée
$DATA[$exch]= array(0/*valeur 1*/, 0/*valeur 2*/);
$DATA[$exch][0] += abs($val1);
$DATA[$exch][1] += abs($val2);
voila...si tu as une idée
jjsteing
Messages postés
1670
Date d'inscription
vendredi 11 mai 2007
Statut
Contributeur
Dernière intervention
21 mai 2012
181
27 juil. 2009 à 15:47
27 juil. 2009 à 15:47
Peut etre un bug ici :
$DATA[$exch][0] += abs($val1);
$DATA[$exch][1] += abs($val2);
je pense que tu ne veux pas que $val1 et $val2 soient additionnés ensemble ??
$DATA[$exch][0] += abs($val1);
$DATA[$exch][1] += abs($val2);
je pense que tu ne veux pas que $val1 et $val2 soient additionnés ensemble ??
jjsteing
Messages postés
1670
Date d'inscription
vendredi 11 mai 2007
Statut
Contributeur
Dernière intervention
21 mai 2012
181
27 juil. 2009 à 15:50
27 juil. 2009 à 15:50
ok, ben ca me parrait bien :
for($i=2; $i<count($lines); $i++)
{
$v = explode(';', $lines[$i]);
$exch = $v[4]
$val1 = $v[10]
$val2 = $v[11]
$DATA[$exch]= array(0/*valeur 1*/, 0/*valeur 2*/);
$DATA[$exch][0] += abs($val1);
$DATA[$exch][1] += abs($val2);
}
c'est quoi ton bug ?
for($i=2; $i<count($lines); $i++)
{
$v = explode(';', $lines[$i]);
$exch = $v[4]
$val1 = $v[10]
$val2 = $v[11]
$DATA[$exch]= array(0/*valeur 1*/, 0/*valeur 2*/);
$DATA[$exch][0] += abs($val1);
$DATA[$exch][1] += abs($val2);
}
c'est quoi ton bug ?
Le problème c'est que j'obtiens que les premiers valeur :
1 FRANCE 12
2 ITALIE 4
3 SUEDE 6
4 ITALIE 42
5 FRANCE 2
6 SUEDE 6....
au lieu d'avoir :
$DATA[FRANCE][0] = 12+2
$DATA[ITALIE][0] = 4+42
j'ai :
$DATA[FRANCE][0] = 12
$DATA[ITALIE][0] = 4
1 FRANCE 12
2 ITALIE 4
3 SUEDE 6
4 ITALIE 42
5 FRANCE 2
6 SUEDE 6....
au lieu d'avoir :
$DATA[FRANCE][0] = 12+2
$DATA[ITALIE][0] = 4+42
j'ai :
$DATA[FRANCE][0] = 12
$DATA[ITALIE][0] = 4
jjsteing
Messages postés
1670
Date d'inscription
vendredi 11 mai 2007
Statut
Contributeur
Dernière intervention
21 mai 2012
181
27 juil. 2009 à 15:57
27 juil. 2009 à 15:57
essai avec
$DATA[$exch][0] = $DATA[$exch][0] + abs($val1);
$DATA[$exch][1] = $DATA[$exch][1] + abs($val2);
+= doit marché.. a moins que je me trompe de langage.. mais bon, la t'est sur qu il additionne :p
$DATA[$exch][0] = $DATA[$exch][0] + abs($val1);
$DATA[$exch][1] = $DATA[$exch][1] + abs($val2);
+= doit marché.. a moins que je me trompe de langage.. mais bon, la t'est sur qu il additionne :p
jjsteing
Messages postés
1670
Date d'inscription
vendredi 11 mai 2007
Statut
Contributeur
Dernière intervention
21 mai 2012
181
27 juil. 2009 à 16:27
27 juil. 2009 à 16:27
je pense qu il ne doit pas boucler alors !!
essai d'afficher ca : a la fin avant le } du for
echo "i=" .$i ."<br>";
echo "line=".$lines[$i]."<br>";
echo "exch=".$exch."<br>";
echo "val1=".$val1."Val2=".$val2."<br>";
echo $DATA[$exch][0] += abs($val1);."<br>";
echo $DATA[$exch][1] += abs($val2);."<br>";
echo "-------------------------------";
essai d'afficher ca : a la fin avant le } du for
echo "i=" .$i ."<br>";
echo "line=".$lines[$i]."<br>";
echo "exch=".$exch."<br>";
echo "val1=".$val1."Val2=".$val2."<br>";
echo $DATA[$exch][0] += abs($val1);."<br>";
echo $DATA[$exch][1] += abs($val2);."<br>";
echo "-------------------------------";