# 0 Inleiding Verderop krijg je de *PHP voetbal challenge*. Om de PHP Voetbal challenge te kunnen maken moeten we de stof uit PHP level-2 goed beheersen en bovendien moeten we nog kennismaken met één nieuw type array, het assiociatieve array. In deze module gaan we dus eerst nog een paar dingen bespreken voordat we met de challange aan de slag gaan. Deze zaken zijn een ***noodzakelijke*** voorbereiding om de voetbal-challenge te kunnen maken. Verder is het leren werken met assiociative arrays een goede voorbereiding op de lessen over PHP Frameworks Yii en Laravel. Lees de theorie goed door en bekijk de filmpjes. Ga niet direct naar de opdrachten want dat kost uiteindelijk meer tijd. Begrijp je de theorie niet, vraag dan een docent om hulp.
[ ](https://www.roc.ovh/books/php-l3/page/0-inleiding/edit?content-id=bkmrk-succes%21&content-text=Succes! "Edit Content")
Succes! ### Terugblik We hebben al heel wat over arrays gesproken. Tot nu toe hebben we twee soorten arrays gezien. 1. [Eenvoudige arrays](https://www.roc.ovh/books/php-l2/page/1-array-variabelen), en; 2. [complexe arrays](https://www.roc.ovh/books/php-l2/page/4-complexe-arrays) (multidimensionale arrays). Voorbeelden ```PHP $array1=['waarde 1', 'waarde 2', 'waarde 3', 'waarde 4']; $array2=[ ['waarde 1a', 'waarde 2a', 'waarde 3a', 'waarde 4a'], ['waarde 1b', 'waarde 2b', 'waarde 3b', 'waarde 4b'], ['waarde 1c', 'waarde 2c', 'waarde 3c', 'waarde 4c'] ]; ``` Herken je het complexe array? *$array2* is een array van 3 arrays en elk van die drie arrays heeft 4 elementen. ### Assiociative array In deze les gaan we kennis maken met nog een type array, het *assiociative array*. Er bestaan verschillende namen voor een assiociative array. In python heet het een dictionairy en soms wordt ook wel de meer algemenere term key-value array gebruikt. Je zult aan het eind van de les wel begrijpen waarom.

assiociative array = dictionary = key-value array

Assiociative arrays komen ook voor in Python (daar heten dit Dictionaries). Het verschil tussen een 'gewoon' (indexed) array en een assiociative array is de key (sleutel). Snap je dit nog niet helemaal, of wil je nog meer voorbeelden zien, kijk dan deze video. [https://studio.youtube.com/video/5lJLecI0BTA/edit](https://studio.youtube.com/video/5lJLecI0BTA/edit) ### De key Met een key bepaal je welke elemenent je wilt zien in een array. Bijvoorbeeld: ```PHP $array=['Amsterdam','Rotterdam','Den Haag','Almere']; echo $array[1]; ``` Kijk naar regel 2, daar staat een \[1\]. Dat is de key . De key is 1 en dat betekent dat je het tweede element van het array afdrukt. In dit geval '*Rotterdam*' dus. Nee niet de '*Amsterdam*' want een array begint te tellen bij 0. Stel je wilt de plaats 'Almere' overschrijven? Dat kan met: ```PHP $array[3]='Utrecht'; ``` Bij een assiociative array moet jij zelf voor elk element de key bepalen. Dat ziet er bijvoorbeeld zo uit: ```PHP $array[ 'naam' => 'Nike Chui' , 'datum' => '12 november 2020' , 'project' => 'PHP Project']; ``` Om nu het tweede element van dit array af te drukken gebruik je: ```PHP echo $array['datum']; ``` Het maakt niet uit op welke plaats de datum staat, de key is datum. De waarde die bij deze key hoort wordt afgedrukt. Stel je wilt de datum aanpassen dan kun je dat als volgt doen: ```PHP $array['datum']='1 december 2020'; ``` ### Samengevat
Andere namenHoe benader je een element?Voorbeeld
**Indexed Array**gewoon array, 1 dimensionaal array, eenvoudig arrayvia de key, die is altijd 0,1,2,3,4....$myArray\[13\]
**Assiociative Array**key-value array, Dictionary (Python), hash tablevia de key, dit moet een unieke string zijn waarvan je zelf de waarde bepaald.$myArray\['datum'\];
\--