PHP

Manipolazione Degli Elementi

Funzioni di manipolazione degli array in PHP: array_slice(), array_splice(), array_chunk(), array_column() con esempi pratici e laboratorio guidato.


🧩 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
FunzioneAzioneModifica l’array originaleTipo di risultato
array_slice()Estrae una parteNoNuovo array
array_splice()Rimuove/sostituisceSìArray modificato
array_chunk()Divide in blocchiNoArray di array
array_column()Estrae una colonnaNoNuovo 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.


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 chunk per vedere come varia la divisione.
  • Usa array_splice() per rimuovere o inserire nuovi elementi in posizioni diverse.
  • Combina array_column() e array_sum() per calcolare la media di una colonna di valori.
  • Usa preserve_keys = true per mantenere le chiavi originali in slice() o chunk().