PHP Tutorial.nl

Word een PHP expert!!!

Home » Arrays: Ga direct aan de slag met datastructuren

Arrays: Ga direct aan de slag met datastructuren

Een van de datatypen die ik eerder benoemde was een array. Dit datatype is een verzameling verschillende waardes. Dit kan dus ook een verzameling van meerdere arrays zijn (om het makkelijker te maken).

De syntax van array is array(...) maar het mag ook gedefinieerd worden met blokhaken [...]

<?php
$array = array( 'waarde1', 'waarde2', 'waarde3' );
?>

In het bovenstaande voorbeeld bestaat de array uit drie waarden. Onder water heeft PHP aan elke array een identifier toegekend. Deze identifier staat ook wel bekend als de key (sleutel). Als je een array op deze manier schrijft, dan zullen de sleutels numeriek zijn. 

Je zou verwachten dat ‘waarde1’ de key 1 toegekend krijgt. Helaas, in numerieke arrays begint het altijd met 0. Dus key 0 is waarde1, key 1 is waarde2 en key 2 is waarde3.

Als we nu een waarde4 willen toevoegen, dan doen we het volgende:

<?php
$array[] = "waarde4";
?>

PHP zelf weet dat de key 3 nog vrij is en zal deze daarom automatisch toekennen aan waarde4.

Associatieve arrays

In het voorbeeld hierboven ga ik al aan dat een array altijd per waarde een identifier (ofwel sleutel ofwel key) genoemd heeft. Als we deze niet zelf toekennen, dan wordt er dus een numerieke key toegekend.

We kunnen het dus ook zelf toekennen:

<?php
$persoon = array(
    'naam' => 'Andy',
    'geslacht' => 'man',
);
?>

In het voorbeeld hierboven heb ik een variabele gemaakt met daarin een waarde van het datatype array. Deze heeft een key naam en geslacht. Als ik een bepaalde key wil benaderen dan kan ik het volgende doen:

<?php
echo $persoon['naam'];
?>

Geneste (multi-dimensionele) arrays

Het is ook mogelijk om een array in een array te gebruiken. Op deze manier is het mogelijk om een diepgaande datastructuur op te zetten.

<?php
$persoon = array(
    'naam' => 'Andy',
    'geslacht' => 'man',
    'interesses' => array(
        'muziek luisteren',
        'films kijken',
        'hout bewerken'
    )
);
?>

In het bovenstaande voorbeeld bestaat de key interesses uit een array met daarin de losse waardes. Dit is een voorbeeld ben een geneste array.

Het uitlezen van een array

Door middel van een lus (ook wel loop genoemd) is het mogelijk om een array uit te lezen. Een goed voorbeeld van zo’n lus is de foreach.

<?php
$array = array( 'een' => 'waarde1', 'twee' => 'waarde2', 'drie' => 'waarde3' );
foreach ( $array as $key => $value ) {
   echo $key . ':' . $value . ' - ';
}   
?>

Zo krijgen we het volgende te zien: een: waarde1 – twee: waarde2 – drie: waarde3 –