[PHP] valeur xml dans un tableau
Résolu/Fermé
ZMEX
Messages postés
47
Date d'inscription
dimanche 19 avril 2009
Statut
Membre
Dernière intervention
27 septembre 2010
-
27 sept. 2010 à 11:42
ZMEX Messages postés 47 Date d'inscription dimanche 19 avril 2009 Statut Membre Dernière intervention 27 septembre 2010 - 27 sept. 2010 à 13:53
ZMEX Messages postés 47 Date d'inscription dimanche 19 avril 2009 Statut Membre Dernière intervention 27 septembre 2010 - 27 sept. 2010 à 13:53
A voir également:
- [PHP] valeur xml dans un tableau
- Tableau croisé dynamique - Guide
- Tableau ascii - Guide
- Comment faire un tableau - Guide
- Xml download - Télécharger - Édition & Programmation
- Trier un tableau excel - Guide
3 réponses
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
27 sept. 2010 à 11:59
27 sept. 2010 à 11:59
Bonjour,
À chaque itération de ton foreach, tu refais $i=1...
Donc, fatalement, c'est toujours la même case du tableau que tu écrases !
Par ailleurs, je ne vois pas ce que vient faire ce static ici.
Voilà ce que je te suggère :
J'ai sorti le $coef = , car c'est pas super optimisé de refaire la même opération N fois dans ta boucle. Mais ça ne change pas le résultat final.
J'ai laissé le echo "<br>"... mais il est bizarre ^^'
Xavier
À chaque itération de ton foreach, tu refais $i=1...
Donc, fatalement, c'est toujours la même case du tableau que tu écrases !
Par ailleurs, je ne vois pas ce que vient faire ce static ici.
Voilà ce que je te suggère :
// lecture du contenu des éléments $xml = simplexml_load_file("coef.xml"); $i=1; $coef = 87.5; foreach ($xml->mois as $cle=>$val){ $tab[$i]= $coef * ($val->valeur); echo "<br>"; $i++; }
J'ai sorti le $coef = , car c'est pas super optimisé de refaire la même opération N fois dans ta boucle. Mais ça ne change pas le résultat final.
J'ai laissé le echo "<br>"... mais il est bizarre ^^'
Xavier
ZMEX
Messages postés
47
Date d'inscription
dimanche 19 avril 2009
Statut
Membre
Dernière intervention
27 septembre 2010
16
27 sept. 2010 à 12:12
27 sept. 2010 à 12:12
merci, ça marche mieux mais pas le résultat escompté.
voilà le résultat :
87.5
87.5
87.5
87.5
87.5
0
0
0
0
87.5
87.5
87.5
cela veut dire que une valeur 1.1 dans le XML, il la prend comme 1.
mais quand je met des virgule à la place des points dans mon fichier xml, là j'ai beaucoup de messages d'erreurs.
voilà le résultat :
87.5
87.5
87.5
87.5
87.5
0
0
0
0
87.5
87.5
87.5
cela veut dire que une valeur 1.1 dans le XML, il la prend comme 1.
mais quand je met des virgule à la place des points dans mon fichier xml, là j'ai beaucoup de messages d'erreurs.
ZMEX
Messages postés
47
Date d'inscription
dimanche 19 avril 2009
Statut
Membre
Dernière intervention
27 septembre 2010
16
27 sept. 2010 à 13:53
27 sept. 2010 à 13:53
il fallait juste caster en float.
$xml = simplexml_load_file("coef.xml"); $i=1; $coef = 87.5; foreach ($xml->mois as $cle=>$val){ echo $tab[$i]= $coef * (float)($val->valeur); echo "<br>"; $i++; }