PHP
HTML
CSS
JavaScript
Generatori
Varie & Old

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

CODE: PHPpreleva codice
  1. <?php
  2. $studenti = [
  3.   ["Anna", 20, "Roma"],
  4.   ["Marco", 22, "Milano"],
  5.   ["Sara", 19, "Torino"]
  6. ];
  7.  
  8. // Struttura dell'array
  9. /*
  10. Array
  11. (
  12.     [0] => Array
  13.         (
  14.             [0] => Anna
  15.             [1] => 20
  16.             [2] => Roma
  17.         )
  18.  
  19.     [1] => Array
  20.         (
  21.             [0] => Marco
  22.             [1] => 22
  23.             [2] => Milano
  24.         )
  25.  
  26.     [2] => Array
  27.         (
  28.             [0] => Sara
  29.             [1] => 19
  30.             [2] => Torino
  31.         )
  32. )
  33. */
  34.  
  35. echo $studenti[0][0] . " ha " . $studenti[0][1] . " anni ed è di " . $studenti[0][2] . "<br>";
  36. echo $studenti[1][0] . " ha " . $studenti[1][1] . " anni ed è di " . $studenti[1][2] . "<br>";
  37. ?>
  38. <!-- Output nel browser:
  39. Anna ha 20 anni ed è di Roma
  40. Marco ha 22 anni ed è di Milano
  41. -->

Array associativi multidimensionali

È possibile combinare array associativi e indicizzati per ottenere strutture ancora più chiare e leggibili.

Codice Esempio: array associativo multidimensionale

CODE: PHPpreleva codice
  1. <?php
  2. $persone = [
  3.   "persona1" => ["nome" => "Luca", "età" => 25],
  4.   "persona2" => ["nome" => "Giulia", "età" => 30],
  5.   "persona3" => ["nome" => "Paolo", "età" => 28]
  6. ];
  7.  
  8. // Struttura dell'array
  9. /*
  10. Array
  11. (
  12.     [persona1] => Array
  13.         (
  14.             [nome] => Luca
  15.             [età] => 25
  16.         )
  17.  
  18.     [persona2] => Array
  19.         (
  20.             [nome] => Giulia
  21.             [età] => 30
  22.         )
  23.  
  24.     [persona3] => Array
  25.         (
  26.             [nome] => Paolo
  27.             [età] => 28
  28.         )
  29. )
  30. */
  31.  
  32. echo $persone["persona2"]["nome"] . " ha " . $persone["persona2"]["età"] . " anni.";
  33. ?>
  34. <!-- Output nel browser:
  35. Giulia ha 30 anni.
  36. -->

Ciclo su array multidimensionali

Si possono usare cicli annidati per scorrere array multidimensionali e leggere tutti i valori contenuti.

Codice Esempio: ciclo annidato

CODE: PHPpreleva codice
  1. <?php
  2. $numeri = [
  3.   [1, 2, 3],
  4.   [4, 5, 6],
  5.   [7, 8, 9]
  6. ];
  7.  
  8. // Struttura dell'array
  9. /*
  10. Array
  11. (
  12.     [0] => Array
  13.         (
  14.             [0] => 1
  15.             [1] => 2
  16.             [2] => 3
  17.         )
  18.  
  19.     [1] => Array
  20.         (
  21.             [0] => 4
  22.             [1] => 5
  23.             [2] => 6
  24.         )
  25.  
  26.     [2] => Array
  27.         (
  28.             [0] => 7
  29.             [1] => 8
  30.             [2] => 9
  31.         )
  32. )
  33. */
  34.  
  35. foreach ($numeri as $riga) {
  36.   foreach ($riga as $valore) {
  37.     echo $valore . " ";
  38.   }
  39.   echo "<br>";
  40. }
  41. ?>
  42. <!-- Output nel browser:
  43. 1 2 3 
  44. 4 5 6 
  45. 7 8 9 
  46. -->

Tabella riassuntiva array multidimensionali

Operazione Descrizione Sintassi
CreazioneArray con altri array come elementi$a = [[1,2],[3,4]];
AccessoIndice doppio per righe e colonne$a[0][1];
AssociativoArray associativi annidati$a["p1"]["nome"];
CicloCicli annidati per scorrere valoriforeach($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.


I Cookie su questo sito:

Il nostro sito utilizza cookie e altre tecnologie in modo tale che sia noi, sia i nostri partner, possiamo ricordarci di te e capire come tu e gli altri visitatori utilizzate il nostro sito. Qui puoi trovare ulteriori informazioni sui cookie e le altre tecnologie. Chiudendo questo banner o continuando la navigazione acconsenti all'uso dei cookie. Acconsento Info Cookies