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 laclave
del 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