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

Ralfh Bryan Perez 30 enero 2023
  1. PHP foreach() Sintaxis
  2. Obteniendo el primer y último elemento en un bucle foreach() en PHP
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 la clave 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

Artículo relacionado - PHP Array