🧩 Manipolazione degli Array in PHP
In questa lezione scoprirai le funzioni più utili per manipolare gli array: estrarre porzioni, rimuovere o sostituire elementi, dividerli in gruppi e lavorare con array multidimensionali.
Le principali funzioni che vedremo sono:
array_slice()→ estrae una parte (fetta) di un array.array_splice()→ rimuove o sostituisce elementi.array_chunk()→ divide un array in sotto-array.array_column()→ estrae una singola colonna da un array multidimensionale.
1. Estrarre una parte di array: array_slice()
La funzione array_slice() restituisce una porzione dell’array senza modificarlo.
array_slice($array, $offset, $length, $preserve_keys);
- $offset → posizione da cui iniziare (0 = primo elemento)
- $length → quanti elementi estrarre
- $preserve_keys (facoltativo) → se
true, mantiene le chiavi originali
<?php
$colori = ["Rosso", "Verde", "Blu", "Giallo", "Viola"];
$parte = array_slice($colori, 1, 3);
print_r($parte);
?>
Array
(
[0] => Verde
[1] => Blu
[2] => Giallo
)
2. Rimuovere o sostituire elementi: array_splice()
La funzione array_splice() modifica direttamente l’array originale,
rimuovendo o sostituendo una porzione di elementi.
array_splice($array, $offset, $length, $replacement);
- $offset → da dove iniziare la modifica
- $length → quanti elementi rimuovere
- $replacement (facoltativo) → elementi che sostituiranno quelli rimossi
<?php
$numeri = [1, 2, 3, 4, 5];
array_splice($numeri, 1, 2, ["A", "B"]);
print_r($numeri);
?>
Array
(
[0] => 1
[1] => A
[2] => B
[3] => 4
[4] => 5
)
In questo esempio, gli elementi alle posizioni 1 e 2 (2 e 3) vengono sostituiti da "A" e "B".
3. Suddividere un array in blocchi: array_chunk()
La funzione array_chunk() divide un array in gruppi (sotto-array) di dimensione specificata.
È molto utile per impaginare o raggruppare dati.
array_chunk($array, $dimensione, $preserve_keys);
<?php
$numeri = [1, 2, 3, 4, 5, 6];
$blocchi = array_chunk($numeri, 2);
print_r($blocchi);
?>
Array
(
[0] => Array ( [0] => 1 [1] => 2 )
[1] => Array ( [0] => 3 [1] => 4 )
[2] => Array ( [0] => 5 [1] => 6 )
)
4. Estrarre una colonna da array multidimensionali: array_column()
La funzione array_column() estrae i valori di una specifica colonna da un array multidimensionale.
Spesso viene usata con dati di tipo tabellare (come elenchi di record).
array_column($array, $column_key, $index_key);
- $column_key → il nome della colonna da estrarre
- $index_key (opzionale) → usa una colonna come chiave del nuovo array
<?php
$studenti = [
["nome" => "Luca", "voto" => 28],
["nome" => "Giulia", "voto" => 30],
["nome" => "Marco", "voto" => 25]
];
$nomi = array_column($studenti, "nome");
print_r($nomi);
?>
Array
(
[0] => Luca
[1] => Giulia
[2] => Marco
)
Puoi anche usare un campo come indice:
<?php
$voti = array_column($studenti, "voto", "nome");
print_r($voti);
?>
Array
(
[Luca] => 28
[Giulia] => 30
[Marco] => 25
)
5. Riepilogo funzioni di manipolazione
| Funzione | Azione | Modifica l’array originale | Tipo di risultato |
|---|---|---|---|
| array_slice() | Estrae una parte | No | Nuovo array |
| array_splice() | Rimuove/sostituisce | Sì | Array modificato |
| array_chunk() | Divide in blocchi | No | Array di array |
| array_column() | Estrae una colonna | No | Nuovo array |
LABORATORIO
Manipolare e suddividere array in PHP
In questo laboratorio imparerai a estrarre parti di array, sostituire elementi, suddividere dati in blocchi e lavorare con array multidimensionali.
- Editor PHP (VS Code, Notepad++)
- Server locale (XAMPP, MAMP, Laragon)
- Browser per testare i risultati
1 Estrarre una porzione di array
Crea un file array-manipolazione.php e prova a estrarre solo alcuni elementi:
<?php
$numeri = [10, 20, 30, 40, 50];
$parte = array_slice($numeri, 1, 3);
print_r($parte);
?>
2 Rimuovere e sostituire elementi
Ora usa array_splice() per sostituire parte dell’array:
<?php
$nomi = ["Anna", "Luca", "Marco", "Sara"];
array_splice($nomi, 1, 2, ["Paolo", "Giulia"]);
print_r($nomi);
?>
3 Suddividere un array in blocchi
Dividiamo un array in gruppi di due elementi:
<?php
$alunni = ["Anna", "Luca", "Marco", "Sara", "Giulia", "Marta"];
$gruppi = array_chunk($alunni, 2);
print_r($gruppi);
?>
4 Estrarre colonne da un array multidimensionale
Infine, estrai solo i nomi da un elenco di studenti:
<?php
$studenti = [
["nome" => "Luca", "voto" => 28],
["nome" => "Giulia", "voto" => 30],
["nome" => "Marco", "voto" => 25]
];
$nomi = array_column($studenti, "nome");
print_r($nomi);
?>
5 Test e analisi
- Prova a cambiare la dimensione nei
chunkper vedere come varia la divisione. - Usa
array_splice()per rimuovere o inserire nuovi elementi in posizioni diverse. - Combina
array_column()earray_sum()per calcolare la media di una colonna di valori. - Usa
preserve_keys = trueper mantenere le chiavi originali inslice()ochunk().