[PHP] valeur xml dans un tableau
Résolu
ZMEX
Messages postés
47
Date d'inscription
Statut
Membre
Dernière intervention
-
ZMEX Messages postés 47 Date d'inscription Statut Membre Dernière intervention -
ZMEX Messages postés 47 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai un fichier xml comme suit :
j'arrive à récupérer les valeur des coefficients, mais je veux les multiplier par une valeur et les stocker dans un tableau mais je n'arrive pas. voilà mon code :
merci de m'aider parce que je ne trouve pas l'erreur.
J'ai un fichier xml comme suit :
<?xml version="1.0" encoding="UTF-8"?> <coefficient> <mois> <titre>Janvier</titre> <valeur>1.4</valeur> </mois> <mois> <titre>Février</titre> <valeur>1.3</valeur> </mois> <mois> <titre>Mars</titre> <valeur>1.3</valeur> </mois> <mois> <titre>Avril</titre> <valeur>1.2</valeur> </mois> <mois> <titre>Mai</titre> <valeur>1.1</valeur> </mois> <mois> <titre>Juin</titre> <valeur>0.9</valeur> </mois> <mois> <titre>Juillet</titre> <valeur>0.7</valeur> </mois> <mois> <titre>Août</titre> <valeur>0.6</valeur> </mois> <mois> <titre>Septembre</titre> <valeur>0.7</valeur> </mois> <mois> <titre>Octobre</titre> <valeur>1</valeur> </mois> <mois> <titre>Novembre</titre> <valeur>1.1</valeur> </mois> <mois> <titre>Décembre</titre> <valeur>1.2</valeur> </mois> </coefficient>
j'arrive à récupérer les valeur des coefficients, mais je veux les multiplier par une valeur et les stocker dans un tableau mais je n'arrive pas. voilà mon code :
// lecture du contenu des éléments $xml = simplexml_load_file("coef.xml"); foreach ($xml->mois as $cle=>$val){ static $i=1; $coef = 87.5; $tab[$i]= $coef * ($val->valeur); echo "<br>"; $i++; }
merci de m'aider parce que je ne trouve pas l'erreur.
A voir également:
- [PHP] valeur xml dans un tableau
- Tableau word - Guide
- Trier un tableau excel - Guide
- Tableau ascii - Guide
- Xml download - Télécharger - Édition & Programmation
- Imprimer un tableau excel - Guide
3 réponses
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
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.