La pregunta es sencilla. Tengo un foreach
bucle en mi código:
foreach($array as $element) {
//code
}
En este ciclo, quiero reaccionar de manera diferente cuando estamos en la primera o en la última iteración.
¿Como hacer esto?
Solución del problema
Si prefiere una solución que no requiera la inicialización del contador fuera del bucle, puede comparar la clave de iteración actual con la función que le indica la última/primera clave de la matriz.
PHP 7.3 y más reciente:
foreach ($array as $key => $element) {
if ($key === array_key_first($array)) {
echo 'FIRST ELEMENT!';
}
if ($key === array_key_last($array)) {
echo 'LAST ELEMENT!';
}
}
PHP 7.2 y anteriores:
foreach ($array as $key => $element) {
reset($array);
if ($key === key($array)) {
echo 'FIRST ELEMENT!';
}
end($array);
if ($key === key($array)) {
echo 'LAST ELEMENT!';
}
}
No hay comentarios:
Publicar un comentario