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

  1. Sintassi PHP foreach()
  2. Ottieni il primo e l’ultimo elemento 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 - È la key 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 tasto, è il cat che è l’ultimo elemento.

Articolo correlato - PHP Loop

  • Controlla ogni valore della chiave del loop in PHP
  • Articolo correlato - PHP Array

  • Controlla ogni valore della chiave del loop in PHP
  • Converti un array in una stringa in PHP