Como determinar a primeira e última iteração em um loop de Foreach em PHP

  1. PHP foreach() Sintaxe
  2. Obtenha o primeiro e o último item em um loop foreach() em PHP

PHP foreach() loop está sendo utilizado para loopar através de um bloco de código para cada elemento do array. Neste artigo, vamos descobrir como utilizar foreach() loop e como obter o primeiro e o último item de um array.

PHP foreach() Sintaxe

foreach() laço é utilizado principalmente para iterar através de cada valor de uma array.

Exemplo de foreach() loop:

for($array as $key => $value){
    // Add code here
}

O significado dos parâmetros foreach():

  • $array - Este deve ser um array válido para utilizar em um loop; se o array passado não for válido ou uma string, retorne um erro como: (Aviso*: Argumento inválido fornecido para foreach()).
  • $key - É a key do elemento em cada iteração.
  • $value - É o valor do elemento em cada iteração.

Obtenha o primeiro e o último item em um loop foreach() em PHP

Há várias abordagens para obter o primeiro e o último item em um loop usando PHP e ele varia nas diferentes versões.

Estas são, utilizando o contador (funciona para todas as versões), utilizando array_key_first() e array_key_last() para o PHP 7.3.

Utilizar o contador em PHP foreach Loop

Adicionar uma variável inteira e colocar o contador na parte inferior do foreach() loop.

Exemplo:

$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++;
}

No exemplo acima, a lista de animais é armazenada como uma array.

Em seguida, defina o $x como 1 para iniciar o contador.

Utilize count() para determinar o comprimento total de uma array. A iteração do contador foi colocada na parte inferior do foreach() loop - $x++; para executar a condição para obter o primeiro item.

Para obter o último item, verificar se o $x é igual ao comprimento total da array. Se true, então ele recebe o último item.

Utilize array_key_first() e array_key_last() em PHP Loop

Com a última versão do PHP, obter o primeiro e o último item de uma array nunca pode ser mais eficiente.

Exemplo:

$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
}

No exemplo acima, array_key_first() obtém a chave do primeiro item no array, neste caso, é 0.

Depois array_key_last() obtém a última chave do array, neste caso, 5.

Ao inspecionar o array, o item que está na chave 0 é o dog que é o primeiro e na chave 5, é o cat que é o último item.

Artigo relacionado - PHP Array

  • Combinar duas arrays em PHP