Skip to main content

8 Associative Arrays

Arrays zijn er in meerdere soorten. In deze les gaan we het hebben over associatieve arrays.

We hebben het al evenuitgebreid gekekengehad naarover associative'gewone' arrays in PHP. Er bestaat nog een type array: het assiociative array (in Python heet dit een 'Dictionary'). Het wordt ook wel een key-value array genoemd. Het assiociative array lijkt veel op JSON. JSON is een bestandsformaat waarin je data kan opslaan. Je zou het een soort database kunnen noemen.

Inhet onderstaande filpmje wordt eerst nog een keer herhaald hoe een 'gewoon' array ook al weer werkt en vanaf 3'00'' in dithet filmpje hebbenwordt weuitgelegd hoe een assiociative array in lesPHP 5 een vergelijking gemaakt tussen een gewoon, one dimsional array en een associative array.werkt.

Eenvoudig Array

Bij een eenvoudig array heb je als index/key een nummer. Elk array element heeft een neuumer te beginnen met 0.

$age[0] = "35";
$age[1] = "37";
$age[2] = "43"; 

Je kunt dit array ook op een ander manier maken, weet je nog?

$age = array(35,37,43);

Het bovenstaande array heeft drie elementen: $age[0], $age[1] en age{2];

Associative Array

Stel dat je het array dat hierboven staat wilt gebruiken om de leeftijd van personen vast te leggen. $age[0] is de leeftijd van Peter, $age[1] is de leeftijd van Ben en $age[2] is de leeftijd van Joe.

Associative Array aanmaken

Bij een associative array kan je de index/key vervangen door een woord. Bijvoorbeeld:

$age['Peter'] = "35";
$age['Ben'] = "37";
$age['Joe'] = "43"; 

Je kunt het array ook op een andere manier maken

$age = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43");
Associative Uitlezen
echo $age['Ben'];

In plaats van het nummer bij een eenvoudig één dimensionaal array, gebruik je nu de key die je zelf hebt gemaakt voor het array.

Associative Veranderen
$age['Ben']=38;

Dit gaat ook hetzlfde als bij een eenvoudig één dimensionaal array. En ook hier gebruik je de key value die jezelf hebt gemaakt voor het array.

Associative Uitbreiden
$age['Mirna']=28;

Je kunt een assiociative array eenvoudig uitbreiden door een nieuwe key te gebruiken. Je moet wel zeker weten dat de key nieuw is anders overschrijf je de oude waarde. Als in het voorbeeld $age['Mirna'] al bestond dan heb je de oude waarde nu overschreven met de nieuwe waarde.

Opgave 1

Op deze pagina staan van alle maanden van het jaar de normale gemiddelde temperatuur in Nederland vermeld. Zo kun je zien dat januari de koudste maand is met gemiddeld 3.1 graden en de warmste maand is juli met 17.9 graden.

a) Maar een assiociative array waarin van alle maanden van het jaar de normale gemiddelde temperatuur staan. Je hoeft alleen het array te maken. 

b) Gebruik het assiociative array dat je hebt gemaakt en druk de temperatuur af van de maand april.

Opgave 2

Begin met de volgende code

<?php
$places = array(
	"Japan" => "Tokyo",
    "Mexico" => "Mexico City",
    "USA" => "New York City",
    "India" => "Mumbai",
    "Korea" => "Seoul",
    "China" => "Shanghai",
    "Nigeria" => "Lagos",
    "Argentina" => "Buenos Aires",
    "Egypt" => "Cairo",
    "UK" => "London");
?>
  • Maak code die het volgende afdrukt:
    de hoofdstad van China is Shanghai
    Hierbij moet de naam Shanghai worden opgezocht uit het array. Je code mag de naam Shanghai dus niet bevatten.

  • Bestudeer: https://www.w3schools.com/php/php_arrays_associative.asp en zoek uit hoe je een associative array kunt uitprinten met een loop. Maak dan code die met het array  van hierboven het volgende uitprint. Gebruik daarvoor een loop.
De hoofdstad van Japan is Tokyo
De hoofdstad van Mexico is Mexico City
De hoofdstad van USA is New York City
De hoofdstad van India is Mumbai
De hoofdstad van Korea is Seoul
De hoofdstad van China is Shanghai
De hoofdstad van Nigeria is Lagos
De hoofdstad van Argentina is Buenos Aires
De hoofdstad van Egypt is Cairo
De hoofdstad van UK is London

Opgave 3

Gebruik het array dat je hebt gemaakt bij opgave 1a en druk de temperatuur van alle maanden af. Gebruik hiervoor een loop en zorg ervoor dat de output er als volgt uit ziet.

De normale gemiddelde temperatuur van januari in Nederland is 3.1 graden.
De normale gemiddelde temperatuur van februari in Nederland is 3.3 graden.
De normale gemiddelde temperatuur van maart in Nederland is 6.2 graden.
De normale gemiddelde temperatuur van april in Nederland is 9.2 graden.
De normale gemiddelde temperatuur van mei in Nederland is 13.1 graden.
De normale gemiddelde temperatuur van juni in Nederland is 15.6 graden.
De normale gemiddelde temperatuur van juli in Nederland is 17.9 graden.
De normale gemiddelde temperatuur van augustus in Nederland is 17.5 graden.
De normale gemiddelde temperatuur van september in Nederland is 14.5 graden.
De normale gemiddelde temperatuur van oktober in Nederland is 10.7 graden.
De normale gemiddelde temperatuur van november in Nederland is 6.7 graden.
De normale gemiddelde temperatuur van december in Nederland is 3.17graden.

--