PHP

Array Multidimensionali

Introduzione agli Array Multidimensionali in PHP con esempi pratici e laboratorio guidato.


📘 Array Multidimensionali in PHP

Un array multidimensionale è un array che contiene altri array come elementi. Questo tipo di struttura permette di organizzare i dati in forma di tabelle o strutture complesse, come elenchi di persone, prodotti o voti.


1. Cos'è un Array Multidimensionale

Un array multidimensionale può essere pensato come una "tabella" con righe e colonne, dove ogni riga è a sua volta un array.


<?php
// Esempio di array multidimensionale indicizzato
$studenti = [
    ["Mario", "Rossi", 8],
    ["Anna", "Bianchi", 9],
    ["Luca", "Verdi", 7]
];

// Accesso a un singolo elemento
echo $studenti[0][0]; // Mario
echo $studenti[1][2]; // 9
?>

In questo esempio, ogni sotto-array rappresenta uno studente, con:

  • Indice 0: Nome
  • Indice 1: Cognome
  • Indice 2: Voto


2. Array Multidimensionali Associativi

Ogni riga può anche essere un array associativo, rendendo i dati più leggibili:


<?php
$studenti = [
    [
        "nome" => "Mario",
        "cognome" => "Rossi",
        "voto" => 8
    ],
    [
        "nome" => "Anna",
        "cognome" => "Bianchi",
        "voto" => 9
    ],
    [
        "nome" => "Luca",
        "cognome" => "Verdi",
        "voto" => 7
    ]
];

echo $studenti[1]["nome"]; // Anna
?>

3. Scorrere un Array Multidimensionale

Puoi usare un foreach annidato per visualizzare ogni valore:


<?php
foreach ($studenti as $studente) {
    foreach ($studente as $chiave => $valore) {
        echo $chiave . ": " . $valore . " <br>";
    }
    echo "<hr>";
}
?>

4. Visualizzare i dati in forma di tabella

Gli array multidimensionali sono ideali per rappresentare dati in tabelle HTML.


<table border="1" cellpadding="6" cellspacing="0">
<tr><th>Nome</th><th>Cognome</th><th>Voto</th></tr>

<?php
foreach ($studenti as $studente) {
    echo "<tr>";
    echo "<td>" . $studente["nome"] . "</td>";
    echo "<td>" . $studente["cognome"] . "</td>";
    echo "<td>" . $studente["voto"] . "</td>";
    echo "</tr>";
}
?>

</table>


LABORATORIO

Gestire dati complessi con Array Multidimensionali

In questo laboratorio creerai un registro studenti utilizzando un array multidimensionale associativo. Imparerai a visualizzare le informazioni in una tabella HTML e a calcolare la media dei voti.


1 Creare il registro studenti

Crea un file chiamato array-multidimensionali.php e inserisci il seguente codice:


<?php
$studenti = [
    ["nome" => "Luca", "cognome" => "Verdi", "voto" => 7],
    ["nome" => "Anna", "cognome" => "Bianchi", "voto" => 9],
    ["nome" => "Marco", "cognome" => "Rossi", "voto" => 8],
];
?>
    

2 Stampare i dati in una tabella HTML

Ora visualizza le informazioni in una tabella:


<table border="1" cellpadding="6" cellspacing="0">
<tr><th>Nome</th><th>Cognome</th><th>Voto</th></tr>

<?php
foreach ($studenti as $studente) {
    echo "<tr>";
    echo "<td>" . $studente["nome"] . "</td>";
    echo "<td>" . $studente["cognome"] . "</td>";
    echo "<td>" . $studente["voto"] . "</td>";
    echo "</tr>";
}
?>

</table>
    

3 Calcolare la media dei voti

Aggiungi sotto la tabella un blocco che calcola la media dei voti:


<?php
$somma = 0;
foreach ($studenti as $studente) {
    $somma += $studente["voto"];
}
$media = $somma / count($studenti);

echo "<p><b>Media voti:</b> " . number_format($media, 2) . "</p>";
?>
    

4 Aggiungere nuovi studenti

Puoi aggiungere un nuovo studente come segue:


<?php
$studenti[] = ["nome" => "Giulia", "cognome" => "Neri", "voto" => 10];
?>
    

Dopo aver aggiunto l'elemento, ricarica la pagina e verifica che compaia anche nella tabella e nel calcolo della media.


5 Test e analisi

  • Esegui array-multidimensionali.php nel browser.
  • Controlla la tabella generata e la media dei voti.
  • Aggiungi altri studenti per osservare come cambia la media.
  • Prova a stampare solo i nomi: echo $studente["nome"];.