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

Résolu/Fermé
devMan Messages postés 74 Date d'inscription jeudi 10 décembre 2009 Statut Membre Dernière intervention 16 septembre 2010 - 14 déc. 2009 à 17:53
devMan Messages postés 74 Date d'inscription jeudi 10 décembre 2009 Statut Membre Dernière intervention 16 septembre 2010 - 28 déc. 2009 à 22:55
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 jeudi 22 septembre 2005 Statut Membre Dernière intervention 18 novembre 2015 200
14 déc. 2009 à 18:00
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 422 Date d'inscription mercredi 24 septembre 2008 Statut Membre Dernière intervention 30 mai 2015 64
14 déc. 2009 à 18:19
$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 jeudi 10 décembre 2009 Statut Membre Dernière intervention 16 septembre 2010 15
15 déc. 2009 à 11:38
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
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 jeudi 10 décembre 2009 Statut Membre Dernière intervention 16 septembre 2010 15
15 déc. 2009 à 17:03
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 422 Date d'inscription mercredi 24 septembre 2008 Statut Membre Dernière intervention 30 mai 2015 64
15 déc. 2009 à 17:07
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 samedi 16 mai 2009 Statut Membre Dernière intervention 25 mars 2010 13
15 déc. 2009 à 17:05
Eh oui en informatique un tableau commence à 0 et finit à n - 1
0
devMan Messages postés 74 Date d'inscription jeudi 10 décembre 2009 Statut Membre Dernière intervention 16 septembre 2010 15
16 déc. 2009 à 10:09
$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
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 jeudi 10 décembre 2009 Statut Membre Dernière intervention 16 septembre 2010 15
16 déc. 2009 à 10:30
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
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 jeudi 22 septembre 2005 Statut Membre Dernière intervention 18 novembre 2015 200
18 déc. 2009 à 16:51
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 jeudi 10 décembre 2009 Statut Membre Dernière intervention 16 septembre 2010 15
28 déc. 2009 à 22:55
Salut,
merci de votre conseille..
0