Verifier si c'est le derniere element d'un ta

Résolu
devMan Messages postés 75 Statut Membre -  
devMan Messages postés 75 Statut Membre -
Bonjour,
j'ai un $tableau ,
je veux une fonction php pour verifier si c'est le dernier element du tableau .

j'ai pensé d'utilisé :

$tableau[$i+1] == false


mais ca marche pas .

merci de m'aider
Configuration: Linux
Firefox 3.5.5

11 réponses

  1. Zep3k!GnO Messages postés 2049 Statut Membre 200
     
    Voici un exemple :
    <?php
    $aTableau[] = "A";
    $aTableau[] = "B";
    $aTableau[] = "C";
    $aTableau[] = "D";

    foreach($aTableau as $iKey => $sContent){
    if($iKey == (count($aTableau) - 1) ){
    echo "<br/>DERNIER TOUR : ".$sContent;
    }else{
    echo "<br/>Tour ".($iKey +1)." : ".$sContent;
    }
    }

    ?>

    C'est count ( https://www.php.net/manual/fr/function.count.php ) qui va t'aider ;)

    EnJoY !
    0
  2. UgglyBoy Messages postés 440 Statut Membre 66
     
    $stack = array("orange", "banane", "pomme", "framboise");
    $fruit = array_pop($stack);
    


    $fruit est un tableau qui contient le dernier élément de $stack, il n'y a plus qu'à comparer la clé connue $i avec la clé de $fruit.
    0
  3. devMan Messages postés 75 Statut Membre 15
     
    Bonjour,
    merci de votre reponse,
    j'ai utilisé la methode count puis je fait un test sur le resultar de cette methode :
         for ($i=0; $i <= count($tableau); $i++)
         {
               //pour verfifier si le derniere element de la tableau
               if (count($tableau) == $i) {
                     //traitement
               }
         }
    


    merci encore une fois
    0
    1. le père
       
      Bonjour

      ouh la la ! sûrement pas. Les éléments d'un tableau vont des 0 à count($tableau)-1, pas à count($tableau) !
      0
  4. devMan Messages postés 75 Statut Membre 15
     
    Bonjour,
    oui oui oui tu as raison ..

    $i = 0
    while ($i <= count($tableau))
         {
               //pour verfifier si le derniere element de la tableau
               if (count($tableau)-1 == $i)) {
                     //traitement
               }
         }
    
    


    merci pour votre remarque
    0
    1. UgglyBoy Messages postés 440 Statut Membre 66
       
      juste une petite remarque: là tu fais une boucle sans fin...
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. toto1983 Messages postés 161 Date d'inscription   Statut Membre Dernière intervention   13
     
    Eh oui en informatique un tableau commence à 0 et finit à n - 1
    0
  7. devMan Messages postés 75 Statut Membre 15
     
    $i = 0
    while ($i <= count($tableau))
         {
               //pour verfifier si le derniere element de la tableau
               if (count($tableau)-1 == $i)) {
                     //traitement
               }
               $i = $i + 1;
         }
    0
  8. le père
     
    while ($i <= count($tableau))
    Et là, tu vas trop loin, tu devrais faire < et non pas <=
    Tu aurais pu garder le for que tu utilisais dans ton message 3, ça t'aurait évité d'oublier d'incrémenter le $i.
    Dans ce for, tu écrivais bien $i++, pourquoi écris-tu maintenant $i=$i+1 ? L'écriture $i++ n'est pas réservée aux for !
    0
  9. devMan Messages postés 75 Statut Membre 15
     
    merci pour votre remarques
    $i = 0
    while ($i < count($tableau))
         {
               //pour verfifier si le derniere element de la tableau
               if (count($tableau)-1 == $i)) {
                     //traitement
               }
               $i = $i +1;
         }
    

    par contre pour : $i++ et $i = $i + 1; c'est le meme chose non?
    0
  10. le père
     
    Oui c'est la même chose. Ce qui m'étonne c'est le changement de style entre 2 messages sans raison apparente. En général les gens préfèrent $i++, mais tu as bien sûr tout à fait le droit d'écrire $i=$i+1
    0
  11. Zep3k!GnO Messages postés 2049 Statut Membre 200
     
    while ($i < count($tableau))

    c'est pas super optimisé comme ça car a chaque test a la fin de chaque itération ca va faire appel a la fonction count, il vaut mieux écrire :

    $iTableSize = count($tableau);
    while ($i < $iTableSize)

    ;)
    0
  12. devMan Messages postés 75 Statut Membre 15
     
    Salut,
    merci de votre conseille..
    0