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 al even gekeken naar associative arrays en in dit filmpje hebben we in les 5 een vergelijking gemaakt tussen een gewoon, one dimsional array en een associative array.

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

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