Associatieve array

Op school worden de cijfers bijgehouden in de leerlingadministratiesoftware (bij ons Somtoday). Daarin worden ook de gemiddelde cijfers per vak berekend. Die kan je een array zetten op de volgende manier:

$cijfers = array();

$cijfers[0] = 7.2;
$cijfers[1] = 6.5;
$cijfers[2] = 4.8;
$cijfers[3] = 8.8;

// toon resultaat
print_r($cijfers);

Maar nu is niet duidelijk welk cijfer bij welk vak hoort. Je kan dat in je code duidelijker maken door gebruik te maken van associatieve array's (het boek noemt dat het gebruik maken van dictionary). Dan ziet het er zo uit:

$cijfers = array();

$cijfers['Wiskunde'] = 7.2;
$cijfers['Nederlands'] = 6.5;
$cijfers['Engels'] = 4.8;
$cijfers['Informatica'] = 8.8;

// toon resultaat
print_r($cijfers);

In bovenstaande array kun je data van één leerling opslaan. Maar stel dat je van heel veel leerlingen cijfers wilt kunnen opslaan.

$cijfersLln1 = array();
$cijfersLln2 = array();

$cijfersLln1['Wiskunde'] = 7.2;
$cijfersLln1['Nederlands'] = 6.5;
$cijfersLln1['Engels'] = 4.8;
$cijfersLln1['Informatica'] = 8.8;

$cijfersLln2['Wiskunde'] = 6.2;
$cijfersLln2['Nederlands'] = 7.5;
$cijfersLln2['Engels'] = 8.4;
$cijfersLln2['Informatica'] = 5.3;

// toon resultaat
print_r($cijfers);

Dit voorbeeld is niet handig, je kan ook een multidimensionale array maken.

$cijfers = array();

$cijfers['Hans'] = array()
$cijfers['Hans']['Wiskunde'] = 7.2;
$cijfers['Hans']['Nederlands'] = 6.5;
$cijfers['Hans']['Engels'] = 4.8;
$cijfers['Hans']['Informatica'] = 8.8;

// of andere notatie
$cijfers = array(
    'Hans' => array(
        'Wiskunde' => 7.2,
        'Nederlands' => 6.5,
        'Engels' => 4.8,
        'Informatica' => 8.8
    ),
    'Jan' => array(
        'Wiskunde' => 6.2,
        'Nederlands' => 7.5,
        'Engels' => 8.4,
        'Informatica' => 5.3
    ),
);

// toon resultaat
print_r($cijfers);

Array Formulieren