Cómo determinar la primera y la última iteración en un bucle de foreach en PHP
El bucle foreach() de PHP está siendo usado para hacer un bucle a través de un bloque de código para cada elemento del array. En este artículo, descubriremos cómo usar el bucle foreach() y cómo obtener el primer y el último elemento de un array.
PHP foreach() Sintaxis
El bucle foreach() se utiliza principalmente para iterar a través de cada valor de un array.
Ejemplo de bucle foreach():
for($array as $key => $value){
// Add code here
}
El significado de los parámetros foreach():
$array- Este debe ser un array válido para usar en un bucle; si el array pasado no es válido o es una cadena, devuelve un error como: (Advertencia: Argumento inválido suministrado para foreach()).$key- Es laclavedel elemento en cada iteración.$value- Es el valor del elemento en cada iteración.
Obteniendo el primer y último elemento en un bucle foreach() en PHP
Hay varios enfoques para obtener el primer y último elemento en un bucle usando PHP y varía en las diferentes versiones.
Estas son, usando counter (funciona para todas las versiones), usando array_key_first() y array_key_last() para PHP 7.3.
Usando counter en el bucle foreach de PHP
Añadiendo una variable entera y colocando el contador en la parte inferior del bucle foreach().
Ejemplo:
$array = array("dog", "rabbit", "horse", "rat", "cat");
$x = 1;
$length = count($array);
foreach($array as $animal){
if($x === 1){
//first item
echo $animal; // output: dog
}else if($x === $length){
echo $animal; // output: cat
}
$x++;
}
En el ejemplo anterior, la lista de animales se almacena como un array.
Entonces pon el $x como 1 para iniciar el contador.
Utilice count() para determinar la longitud total de un array. La iteración del contador se colocó en la parte inferior del bucle foreach() - $x++; para ejecutar la condición para obtener el primer elemento.
Para obtener el último elemento, comprueba si el $x es igual a la longitud total del array. Si es true, entonces obtiene el último elemento.
Usando array_key_first() y array_key_last() en el bucle PHP
Con la última versión de PHP, obtener el primer y último elemento de un conjunto nunca puede ser más eficiente.
Ejemplo:
$array = array("dog", "rabbit", "horse", "rat", "cat");
foreach($array as $index => $animal) {
if ($index === array_key_first($array))
echo $animal; // output: dog
if ($index === array_key_last($array))
echo $animal; // output: cat
}
En el ejemplo anterior, array_key_first() obtiene la clave del primer ítem del array, en este caso, es 0.
Luego array_key_last() obtiene la última clave del array, en este caso, 5.
Inspeccionando el array, el ítem que está en la clave 0 es el perro que es el primero y en la clave 5, es el cat que es el último ítem.
Artículo relacionado - PHP Loop
- Bucle a través de matriz asociativa en PHP
- Salga del bucle Foreach en PHP
- Usar el bucle foreach en un array multidimensional en PHP
- Comprobar el valor de la clave del bucle de la llave en PHP