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
A voir également:

11 réponses

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
UgglyBoy Messages postés 440 Statut Membre 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 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
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 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
UgglyBoy Messages postés 440 Statut Membre 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 215 Statut Membre 13
 
Eh oui en informatique un tableau commence à 0 et finit à n - 1
0
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
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 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
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 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
devMan Messages postés 75 Statut Membre 15
 
Salut,
merci de votre conseille..
0