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.
Sfida
FacileRiceverai 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
?>Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Logica e flusso
1Funzioni avanzate
Funzioni anonimeClosure e 'use'Funzioni frecciaFunzioni callbackUso di 'call_user_func'Funzioni variabiliPassaggio per riferimentoFunzioni ricorsiveRiepilogo: carrellata di funzioni4Array multidimensionali
Creare un array 2DAccedere agli elementi di un array 2DModificare gli elementi di un array 2DIterare con cicli annidatiArray associativi 2DRipasso: esercizio con una griglia semplice2Manipolazioni avanzate degli array
Aggiungere con 'array_push'Rimuovere con 'array_pop'Aggiungere con 'array_unshift'Rimuovere con 'array_shift'Unire array indicizzatiUnire array associativiEstrarre con 'array_slice'Valori con 'in_array'Chiavi con 'array_search'Riepilogo: esercizio playlist3Ordinare gli array
Ordina gli array indicizzati in ordine crescenteOrdina gli array indicizzati in ordine decrescenteOrdina gli array associativi per valoreOrdina gli array associativi per chiaveOrdinamento naturaleOrdinamento personalizzato con 'usort'Ripasso: ordinamento della classificaEsercitati da solo: Compilatore PHP online