GOOGLE ADS

martes, 26 de abril de 2022

PHP ¿Cómo determinar la primera y la última iteración en un bucle foreach?

La pregunta es sencilla. Tengo un foreachbucle 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

Regla de Firestore para acceder a la generación de subcolección Permisos faltantes o insuficientes

Tengo problemas con las reglas de Firestore para permitir el acceso a algunos recursos en una subcolección. Tengo algunos requests document...