Skip to main content

Herhaling Arrays en Loops

Opgave A

Pas de code aan zodat het land én de hoofdstad nast elkaar op één regel wordt afgedrukt.

Output

Nederland: Amsterdam
België: Brussel
Duitsland: Berlijn

Code
<?php
$landen = [
    "Nederland" => [
        "hoofdstad" => "Amsterdam",
        "inwoners" => 17000000,
        "talen" => ["Nederlands", "Fries"]
    ],
    "België" => [
        "hoofdstad" => "Brussel",
        "inwoners" => 11500000,
        "talen" => ["Nederlands", "Frans", "Duits"]
    ],
    "Duitsland" => [
        "hoofdstad" => "Berlijn",
        "inwoners" => 83000000,
        "talen" => ["Duits"]
    ]
];

foreach ($landen as $land => $info) {
    echo $info['hoofdstad'] . "<br>";
}
?>

Opgave B

De PHP code heeft een serie temperaturen per dag. Er zijn twee functies die het gemiddelde van de twee laagste waarden berekent en een functie die het gemiddelde van de twee hoogste waarden berekend.

Het programma werkt niet helemaal want er wordt tekens 0 afgedrukt.
Bestudeer de code en haal de (twee) fouten eruit. Hiervoor hoef je slechts twee regels aan te passen.

<?php
// Array met temperaturen per uur voor drie dagen (24 waarden per dag)
$threeDays = [
    'Day 1' => [12, 13, 14, 15, 11, 10, 9, 8, 7, 6, 5, 4, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14],
    'Day 2' => [15, 14, 13, 16, 17, 18, 19, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4],
    'Day 3' => [10, 11, 12, 13, 14, 15, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, -1]
];

// Functie om het gemiddelde van de twee laagste waarden te berekenen
function averageLowestTwo($temperatures) {
    sort($temperatures);
    $lowestTwo = array_slice($temperatures, 0, 2);
    return array_sum($lowestTwo) / count($lowestTwo);
}

// Functie om het gemiddelde van de twee hoogste waarden te berekenen
function averageHighestTwo($temperatures) {
    rsort($temperatures);
    $highestTwo = array_slice($temperatures, 0, 2);
    return array_sum($highestTwo) / count($highestTwo);
}

// Loop door elke dag heen en bereken de gemiddelden
foreach ($threeDays as $day => $temps) {
    echo "$day:\n";
    $avgLowest = 0;
    $avgHighest = 0
    echo "Gemiddelde van de twee laagste temperaturen: $avgLowest\n";
    echo "Gemiddelde van de twee hoogste temperaturen: $avgHighest\n";
    echo "<br>";
}
?>