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.

IP: 216.73.216.214