Menu
Coddy logo textTech

Rimuovere con 'array_shift'

Fa parte della sezione Logica e flusso del percorso PHP di Coddy. Lezione 13 di 68.

La funzione array_shift() rimuove il primo elemento da un array e restituisce il valore rimosso. È l'opposto di array_unshift(), che aggiunge elementi all'inizio di un array.

Ecco come funziona:

<?php
$queue = ["Alice", "Bob", "Charlie"];
$firstPerson = array_shift($queue);
echo $firstPerson;  // Stampa: Alice
print_r($queue);    // Stampa: Array ( [0] => Bob [1] => Charlie )
?>

Nota che array_shift() modifica l'array originale e restituisce l'elemento rimosso. Dopo aver rimosso il primo elemento, tutti gli elementi rimanenti si spostano automaticamente per riempire il vuoto: "Bob" passa dall'indice 1 all'indice 0 e "Charlie" passa dall'indice 2 all'indice 1.

Questa reindicizzazione avviene automaticamente, assicurando che l'array mantenga la corretta sequenza numerica. Se usi array_shift() su un array vuoto, restituisce null senza causare un errore.

Questa funzione è particolarmente utile per implementare le code, in cui elabori gli elementi nell'ordine «primo a entrare, primo a uscire», ad esempio gestendo i clienti in fila o elaborando le attività nell'ordine in cui sono state ricevute.

challenge icon

Sfida

Facile

Riceverai due input: un array iniziale di clienti in attesa in fila in formato JSON e un numero che indica quanti clienti servire. Leggi entrambi gli input, converti la stringa JSON in un array, usa array_shift() il numero di volte specificato per rimuovere dalla fila i clienti serviti, partendo dall'inizio, e stampa l'array finale usando print_r().

Formato dell'input: Due righe: la prima contiene un array JSON (esempio: ["Alice","Bob","Charlie","Diana"]), la seconda contiene il numero di clienti da servire (un numero)

Output previsto: L'array dopo aver rimosso dalla fila i clienti serviti, partendo dall'inizio, visualizzato usando print_r()

Provalo tu

<?php
// Leggi l'array JSON dei clienti
$jsonInput = fgets(STDIN);
$customers = (array)json_decode($jsonInput, true);

// Leggi il numero di clienti da servire
$numToServe = intval(fgets(STDIN));

// TODO: Scrivi il tuo codice qui sotto
// Usa array_shift() per rimuovere i clienti dall'inizio della coda


// Visualizza l'array finale
print_r($customers);
?>
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Logica e flusso

Esercitati da solo: Compilatore PHP online