Determina la prima e l'ultima iterazione in un bucle Foreach in PHP

Il bucle PHP foreach()
viene utilizzato per scorrere un blocco di codice per ogni elemento dell’array. In questo articolo, scopriremo come usare il bucle foreach()
e come ottenere il primo e l’ultimo elemento di un array.
Sintassi PHP foreach()
Il bucle foreach()
viene utilizzato principalmente per iterare ogni valore di un array.
Esempio di bucle foreach()
:
for($array as $key => $value){
// Add code here
}
I significati dei parametri foreach()
:
$array
- Deve essere un array valido da utilizzare in un bucle; Se l’array passato non è valido o è una stringa, restituisce un errore del tipo: (Avviso: argomento non valido fornito per foreach()).$key
- È lakey
dell’elemento ad ogni iterazione.$value
- È il valore dell’elemento in ogni iterazione.
Ottieni il primo e l’ultimo elemento in un bucle foreach()
in PHP
Esistono diversi approcci per ottenere il primo e l’ultimo elemento in un bucle utilizzando PHP e varia a seconda delle versioni.
Questi sono, usando counter (funziona per tutte le versioni), usando array_key_first()
e array_key_last()
per PHP 7.3.
Usa Counter nel bucle foreach
di PHP
Aggiunta di una variabile intera e posizionamento del contatore in fondo al bucle foreach()
.
Esempio:
$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++;
}
Nell’esempio precedente, l’lista degli animali è memorizzato come un array.
Quindi imposta $x
come 1 per avviare il contatore.
Usa count()
per determinare la lunghezza totale di un array. L’iterazione del contatore è stata posta in fondo al bucle foreach()
- $x++;
per eseguire la condizione per ottenere il primo elemento.
Per ottenere l’ultimo elemento, controlla se $x
è uguale alla lunghezza totale dell’array. Se true
, ottiene l’ultimo elemento.
Usa array_key_first()
e array_key_last()
in PHP Loop
Con l’ultima versione di PHP, ottenere il primo e l’ultimo elemento in un array non può mai essere più efficiente.
Esempio:
$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
}
Nell’esempio sopra, array_key_first()
ottiene la chiave del primo elemento dell’array, in questo caso è 0
.
Quindi array_key_last()
ottiene l’ultima chiave dell’array, in questo caso, 5
.
Ispezionando la matrice, l’elemento che si trova nel tasto 0
è il dog
che è il primo e nel 5°
tasto, è il cat
che è l’ultimo elemento.