PHP: Array multidimensionali
Array multidimensionali in PHP
Gli array multidimensionali contengono altri array come elementi. Permettono di rappresentare strutture complesse come matrici, tabelle o insiemi di dati organizzati.
Introduzione agli array multidimensionali
Un array multidimensionale è un array che contiene altri array. Ogni livello aggiuntivo rappresenta una nuova dimensione, utile per strutturare dati complessi come elenchi annidati, matrici o tabelle di valori.
Array bidimensionale
Un array a due dimensioni può essere visto come una tabella: le righe sono array, ciascuna con più colonne.
Codice Esempio: array bidimensionale

<?php
$studenti = [
["Anna", 20, "Roma"],
["Marco", 22, "Milano"],
["Sara", 19, "Torino"]
];
// Struttura dell'array
/*
Array
(
[0] => Array
(
[0] => Anna
[1] => 20
[2] => Roma
)
[1] => Array
(
[0] => Marco
[1] => 22
[2] => Milano
)
[2] => Array
(
[0] => Sara
[1] => 19
[2] => Torino
)
)
*/
echo $studenti[0][0] . " ha " . $studenti[0][1] . " anni ed è di " . $studenti[0][2] . "<br>";
echo $studenti[1][0] . " ha " . $studenti[1][1] . " anni ed è di " . $studenti[1][2] . "<br>";
?>
<!-- Output nel browser:
Anna ha 20 anni ed è di Roma
Marco ha 22 anni ed è di Milano
-->
Array associativi multidimensionali
È possibile combinare array associativi e indicizzati per ottenere strutture ancora più chiare e leggibili.
Codice Esempio: array associativo multidimensionale

<?php
$persone = [
"persona1" => ["nome" => "Luca", "età" => 25],
"persona2" => ["nome" => "Giulia", "età" => 30],
"persona3" => ["nome" => "Paolo", "età" => 28]
];
// Struttura dell'array
/*
Array
(
[persona1] => Array
(
[nome] => Luca
[età] => 25
)
[persona2] => Array
(
[nome] => Giulia
[età] => 30
)
[persona3] => Array
(
[nome] => Paolo
[età] => 28
)
)
*/
echo $persone["persona2"]["nome"] . " ha " . $persone["persona2"]["età"] . " anni.";
?>
<!-- Output nel browser:
Giulia ha 30 anni.
-->
Ciclo su array multidimensionali
Si possono usare cicli annidati per scorrere array multidimensionali e leggere tutti i valori contenuti.
Codice Esempio: ciclo annidato

<?php
$numeri = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
];
// Struttura dell'array
/*
Array
(
[0] => Array
(
[0] => 1
[1] => 2
[2] => 3
)
[1] => Array
(
[0] => 4
[1] => 5
[2] => 6
)
[2] => Array
(
[0] => 7
[1] => 8
[2] => 9
)
)
*/
foreach ($numeri as $riga) {
foreach ($riga as $valore) {
echo $valore . " ";
}
echo "<br>";
}
?>
<!-- Output nel browser:
1 2 3
4 5 6
7 8 9
-->
Tabella riassuntiva array multidimensionali
Operazione | Descrizione | Sintassi |
---|---|---|
Creazione | Array con altri array come elementi | $a = [[1,2],[3,4]]; |
Accesso | Indice doppio per righe e colonne | $a[0][1]; |
Associativo | Array associativi annidati | $a["p1"]["nome"]; |
Ciclo | Cicli annidati per scorrere valori | foreach($a as $r){...} |
Considerazioni
Gli array multidimensionali permettono di gestire dati strutturati su più livelli. Sono fondamentali quando si lavora con tabelle, matrici e strutture gerarchiche.