Como determinar a primeira e última iteração em um loop de 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 paraforeach()
).$key
- É akey
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.