Tutoriel PHP : Détecter le dernier élément d’un foreach

J’aimerais vous présenter la méthode que j’utilise afin de détecter le dernier élément d’un boucle foreach. Pourquoi faire me direz-vous, et bien il est très souvent nécessaire d’effectuer un traitement différent sur le dernier élément d’un tableau au sein d’un foreach et notamment en phase d’intégration.Un exemple tout simple est la génération d’une liste HTML dont les éléments utilisent des séparateurs comme par exemple un « | » dans un menu de navigation, où le dernier élément de la liste ne doit en principe pas afficher de séparateur.

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 ?

Nos partenaires

PrestaShop

PrestaShop nous fait confiance en nous délivrant la certification Expert qui démontre notre expertise concernant leur logiciel e-commerce. Nous avons également obtenu deux certifications officielles PrestaShop Fullstack Developer.

PayPlug

PayPlug est la solution de paiement française qui simplifie le paiement pour l’ensemble des TPE et PME de l'e-commerce, aussi bien en ligne qu’en magasin.

Klaviyo

Klaviyo, leader mondial du marketing automation, propose une solution complète qui s'interface avec vos canaux de vente.