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

Résolu
devMan Messages postés 74 Date d'inscription   Statut Membre Dernière intervention   -  
devMan Messages postés 74 Date d'inscription   Statut Membre Dernière intervention   -
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
A voir également:

11 réponses

Zep3k!GnO Messages postés 2025 Date d'inscription   Statut Membre Dernière intervention   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
UgglyBoy Messages postés 426 Date d'inscription   Statut Membre Dernière intervention   64
 
$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
devMan Messages postés 74 Date d'inscription   Statut Membre Dernière intervention   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
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
devMan Messages postés 74 Date d'inscription   Statut Membre Dernière intervention   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
UgglyBoy Messages postés 426 Date d'inscription   Statut Membre Dernière intervention   64
 
juste une petite remarque: là tu fais une boucle sans fin...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
toto1983 Messages postés 205 Date d'inscription   Statut Membre Dernière intervention   13
 
Eh oui en informatique un tableau commence à 0 et finit à n - 1
0
devMan Messages postés 74 Date d'inscription   Statut Membre Dernière intervention   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
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
devMan Messages postés 74 Date d'inscription   Statut Membre Dernière intervention   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
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
Zep3k!GnO Messages postés 2025 Date d'inscription   Statut Membre Dernière intervention   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
devMan Messages postés 74 Date d'inscription   Statut Membre Dernière intervention   15
 
Salut,
merci de votre conseille..
0