[PHP] Additionner les valeurs d'une même var

Résolu
Bonjour, j'ai un problème en dom xml.
Voici un exemple de code xml :
<fruit name="pomme" combien="1"></fruit> 
<fruit name="poire" combien="6"></fruit> 
<fruit name="cerise" combien="24"></fruit> 

Je veux récupérer toutes les valeurs de combien et les additionner, je fais comment ?
Pour lire le contenu d'un attribut j'utilise :
$fruit = $dom->getElementsByTagName("fruit"); 
foreach($fruit as $nombre) 
  { 
    if ($nombre->hasAttribute("combien")) { 
    echo "<p>Il y a <b>".$nombre->getAttribute("combien")."</b> fruits.</p>"; 
    } 
  } 


Est-ce que $nombre aura plusieurs valeurs ?
Est-ce que ce code suffit (j'ai pas testé :p) ?

Merci pour vos réponses.



????? canarder ?????
Le Renard qui règne sur le WEB : Firefox

9 réponses

  1. j'arrive à avoir tous les nombres à la suite donc la variable a plusieurs valeurs mais comment toutes les additionner ?
    0
    1. Bonjour,

      $fruit = $dom->getElementsByTagName("fruit"); 
      $total = 0 ;
      foreach($fruit as $nombre) 
        { 
          if ($nombre->hasAttribute("combien")) { 
              $total += $nombre->getAttribute("combien") ;
          } 
        } 
      echo "total : $total";


      $nombre prendra comme valeur, tour à tour tout les éléments avec le tagname fruit.
      0
      1. Non ça ne marche pas l'echo se répète
        $bank = $dom->getElementsByTagName("item");  
        $total = 0 ;  
        foreach($bank as $nbrBank)  
          {  
            if ($nbrBank->hasAttribute("count")) {  
            $total += $nbrBank->getAttribute("count") ;  
         echo "Nombre d'objet : ".$total."<br />\n";  
            }  
          }  
        


        EDIT 1 : ah non la dernière valeur est la bonne je pense, comment on l'obtient ? j'ai vu max(); quelque part ...
        ????? canarder ?????
        Le Renard qui règne sur le WEB : Firefox
        0
        1. comment on récupère la dernière valeur ?
          0
          1. up c'est urgent je dois finir mon script aujourd'hui
            0
            1. Copie mon code et non ta version, le echo est à l'extérieur de la boucle foreach :

              $fruit = $dom->getElementsByTagName("fruit"); 
              $total = 0 ;
              foreach($fruit as $nombre) 
              { 
                  if ($nombre->hasAttribute("combien")) 
                  { 
                      $total += $nombre->getAttribute("combien") ;
                  } 
              } 
              echo "total : $total";

              0
              1. mais moi c'est pas ce code là ^^ bon
                -- je vais traduire plus tard je peux pas là
                ๑۩۞۩๑ canarder ๑۩۞۩๑
                Le Renard qui règne sur le WEB : Firefox
                0
                1. A la fin de la boucle, tu as la variable $total qui est remplis avec ton total.
                  0