Menu
Coddy logo textTech

Estrarre con 'array_slice'

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

La funzione array_slice() ti consente di estrarre una parte di un array senza modificare l’array originale. A differenza di funzioni come array_pop() o array_shift(), che modificano l’array di origine, array_slice() crea un nuovo array contenente solo gli elementi specificati.

La funzione accetta due parametri principali: l’offset (posizione iniziale) e la lunghezza (quanti elementi estrarre):

<?php
$scores = [95, 87, 92, 78, 85, 90, 88];
$topThree = array_slice($scores, 0, 3);
print_r($topThree);  // Stampa: Array ( [0] => 95 [1] => 87 [2] => 92 )
print_r($scores);    // Array originale invariato
?>

Il parametro offset indica a PHP da dove iniziare l'estrazione (0 indica il primo elemento), mentre il parametro length specifica quanti elementi prendere. Puoi anche usare valori negativi per offset per iniziare a contare dalla fine dell'array.

Questa funzione è particolarmente utile quando devi lavorare con un sottoinsieme di dati, ad esempio per visualizzare solo i primi elementi di un elenco lungo o estrarre un intervallo specifico di elementi da elaborare, mantenendo intatti i dati originali.

challenge icon

Sfida

Facile

Riceverai tre input: un array di prezzi dei prodotti in formato JSON, una posizione iniziale (offset) e il numero di elementi da estrarre (length). Leggi tutti e tre gli input, converti la stringa JSON in un array, usa array_slice() per estrarre la porzione specificata dell’array e stampa la porzione estratta usando print_r().

Formato dell’input: Tre righe: la prima contiene un array JSON di numeri (esempio: [29.99,15.50,42.00,8.75,33.25]), la seconda contiene l’offset (posizione iniziale), la terza contiene la lunghezza (numero di elementi da estrarre)

Output previsto: La porzione estratta dell’array, visualizzata usando print_r()

Provalo tu

<?php
// Leggi l'array JSON dei prezzi
$json_input = fgets(STDIN);
$prices = (array)json_decode($json_input, true);

// Leggi l'offset (posizione iniziale)
$offset = intval(fgets(STDIN));

// Leggi la lunghezza (numero di elementi da estrarre)
$length = intval(fgets(STDIN));

// TODO: Scrivi il tuo codice qui sotto per estrarre la porzione e visualizzarla

?>
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