🚀 Nuova versione beta disponibile! Feedback o problemi? Contattaci

Esercizi Array Multidimensionali PHP

Codegrind Team•Jul 22 2023

Ecco degli esercizi semplici con soluzione per praticare le basi degli array multidimensionali in PHP.

Esercizio 1

Scrivere un programma PHP che dichiara una matrice multidimensionale di numeri e la stampa.
<?php
$matrix = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
];

for ($i = 0; $i < count($matrix); $i++) {
    for ($j = 0; $j < count($matrix[$i]); $j++) {
        echo $matrix[$i][$j] . " ";
    }
    echo "<br>";
}
?>

Esercizio 2

Scrivere un programma PHP che dichiara una matrice multidimensionale di stringhe e la stampa.
<?php
$matrix = [
    ["A", "B", "C"],
    ["D", "E", "F"],
    ["G", "H", "I"]
];

for ($i = 0; $i < count($matrix); $i++) {
    for ($j = 0; $j < count($matrix[$i]); $j++) {
        echo $matrix[$i][$j] . " ";
    }
    echo "<br>";
}
?>

Esercizio 3

Scrivere un programma PHP che dichiara una matrice multidimensionale di dati personali (nome, cognome, etĂ ) e stampa i dati di ogni persona.
<?php
$people = [
    ["Mario", "Rossi", 30],
    ["Luca", "Bianchi", 25],
    ["Giulia", "Verdi", 35]
];

foreach ($people as $person) {
    echo "Nome: " . $person[0] . ", Cognome: " . $person[1] . ", EtĂ : " . $person[2] . "<br>";
}
?>

Esercizio 4

Scrivere un programma PHP che dichiara una matrice multidimensionale di voti degli studenti (nome => voto) e calcola la media dei voti per ogni studente.
<?php
$grades = [
    ["Mario", 80, 85, 90],
    ["Luca", 90, 95, 92],
    ["Giulia", 95, 92, 98]
];

foreach ($grades as $student) {
    $name = $student[0];
    $total = array_sum(array_slice($student, 1));
    $count = count($student) - 1;
    $average = $total / $count;

    echo "Studente: " . $name . ", Media voti: " . $average . "<br>";
}
?>

Esercizio 5

Scrivere un programma PHP che dichiara una matrice multidimensionale di prodotti (categoria => [nome, prezzo]) e stampa i prodotti in ogni categoria.
<?php
$products = [
    "Elettronica" => [
        ["Smartphone", 500],
        ["Computer", 1000],
        ["TV", 800]
    ],
    "Abbigliamento" => [
        ["Maglietta", 20],
        ["Pantaloni", 40],
        ["Scarpe", 60]
    ],
    "Giochi" => [
        ["Puzzle", 10],
        ["Lego", 30],
        ["Gioco da tavolo", 25]
    ]
];

foreach ($products as $category => $items) {
    echo "Categoria: " . $category . "<br>";
    foreach ($items as $item) {
        echo "Nome: " . $item[0] . ", Prezzo: " . $item[1] . "<br>";
    }
    echo "<br>";
}
?>

Esercizio 6

Scrivere un programma PHP che dichiara una matrice multidimensionale di temperature giornaliere (giorno => [minima, massima]) e stampa la temperatura media per ogni giorno.
<?php
$temperatures = [
    "Lunedì" => [15, 25],
    "Martedì" => [18, 28],
    "Mercoledì" => [20, 30],
    "Giovedì" => [17, 27]
];

foreach ($temperatures as $day => $values) {
    $average = array_sum($values) / count($values);
    echo "Giorno: " . $day . ", Temperatura media: " . $average . "<br>";
}
?>

Esercizio 7

Scrivere un programma PHP che dichiara una matrice multidimensionale di studenti (matricola => [nome, cognome]) e cerca lo studente con una matricola specifica.
<?php
$students = [
    "001" => ["Mario", "Rossi"],
    "002" => ["Luca", "Bianchi"],
    "003" => ["Giulia", "Verdi"]
];

$searchID = "002";

if (array_key_exists($searchID, $students)) {
    $student = $students[$searchID];
    echo "Matricola: " . $searchID . ", Nome: " . $student[0] . ", Cognome: " . $student[1];
} else {
    echo "Studente con matricola " . $searchID . " non trovato.";
}
?>

Esercizio 8

Scrivere un programma PHP che dichiara una matrice multidimensionale di prodotti (categoria => [codice => nome]) e stampa i nomi dei prodotti in ogni categoria.
<?php
$products = [
    "Elettronica" => [
        "P01" => "Smartphone",
        "P02" => "Computer",
        "P03" => "TV"
    ],
    "Abbigliamento" => [
        "P04" => "Maglietta",
        "P05" => "Pantaloni",
        "P06" => "Scarpe"
    ],
    "Giochi" => [
        "P07" => "Puzzle",
        "P08" => "Lego",
        "P09" => "Gioco da tavolo"
    ]
];

foreach ($products as $category => $items) {
    echo "Categoria: " . $category . "<br>";
    foreach ($items as $code => $name) {
        echo "Codice: " . $code . ", Nome: " . $name . "<br>";
    }
    echo "<br>";
}
?>

Esercizio 9

Scrivere un programma PHP che dichiara una matrice multidimensionale di studenti (classe => [matricola => nome]) e stampa i nomi degli studenti per ogni classe.
<?php
$students = [
    "Classe A" => [
        "001" => "Mario",
        "002" => "Luca"
    ],
    "Classe B" => [
        "003" => "Giulia",
        "004" => "Sara"
    ]
];

foreach ($students as $class => $members) {
    echo "Classe: " . $class . "<br>";
    foreach ($members as $id => $name) {
        echo "Matricola: " . $id . ", Nome: " . $name . "<br>";
    }
    echo "<br>";
}
?>

Esercizio 10

Scrivere un programma PHP che dichiara una matrice multidimensionale di negozi (cittĂ  => [nome => indirizzo]) e stampa gli indirizzi dei negozi in ogni cittĂ .
<?php
$stores = [
    "Milano" => [
        "Negozio 1" => "Via Roma, 1",
        "Negozio 2" => "Via Verdi, 5"
    ],
    "Roma" => [
        "Negozio 3" => "Via Nazionale, 10",
        "Negozio 4" => "Via Colosseo, 2"
    ]
];

foreach ($stores as $city => $shops) {
    echo "CittĂ : " . $city . "<br>";
    foreach ($shops as $name => $address) {
        echo "Nome negozio: " . $name . ", Indirizzo: " . $address . "<br>";
    }
    echo "<br>";
}
?>