Tutoriel PHP : Détecter le dernier élément d’un foreach
Il existe bien évidemment un méthode empirique consistant à utiliser un itérateur et à le comparer à la taille du tableau, mais nous écarterons cette méthode gourmande et qui fait perdre tout son sens au foreach par rapport à une boucle for.
Voici donc la méthode que j’utilise pour détecter le dernier élément du tableau, nous l’afficherons simplement dans l’exemple ci-dessous :
//Indexed array $array = array('premier', 'deuxieme', 'troisieme', 'quatrieme', 'dernier'); $last_key = end(array_keys($array)); foreach($array as $k => $v) { if($k === $last_key) { echo $v; } } //Associative array $array = array(); $array['un'] = 'premier'; $array['deux'] = 'deuxieme'; $array['trois'] = 'troisieme'; $array['quatre'] = 'quatrieme'; $array['cinq'] = 'dernier'; $last_key = end(array_keys($array)); foreach($array as $k => $v) { if($k === $last_key) { echo $v; } }
Si vous pensez avoir une meilleure méthode, n’hésitez pas à la partager ici !
Cependant comment détecter le dernier attribut d’un objet utilisé dans une boucle foreach ?