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

Résolu
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. 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
    1. $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
      1. 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. Bonjour

          ouh la la ! sûrement pas. Les éléments d'un tableau vont des 0 à count($tableau)-1, pas à count($tableau) !
          0
      2. 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. juste une petite remarque: là tu fais une boucle sans fin...
          0
      3. Eh oui en informatique un tableau commence à 0 et finit à n - 1
        0
        1. $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
          1. 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
            1. 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
              1. 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
                1. 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
                  1. Salut,
                    merci de votre conseille..
                    0