Arrays (lijsten)
Stel ik wil voor het galgje spelletje een lijst met woorden bijhouden die in het spel gebruikt kunnen worden:
Bijvoorbeeld de volgende woorden die ik vond op internet bij lastige galgje woorden:
jazz, score, etui, cactus, liquidatie, oase, junior en curry
Deze kun je in php in een lijst opslaan op de volgende manier:
$woorden = array("jazz", "score", "etui", "cactus", "liquidatie", "oase", "junior" en "curry");
Index
De vraag is nu hoe je een woord uit de array haalt. Je moet immers op een ondubbelzinnige manier naar het juiste woord kunnen verwijzen. Daarom krijgt elke waarde in een array een zogenaamde index. Als je dat niet aangeeft doet php dat automatisch.
Het eerste woord in de array krijgt de index 0, het tweede 1 enz.. Je kan dan op de volgende manier het woord etui uit de array halen:
$kieswoord = $woorden[2];
echo $kieswoord;
Stel dat je de gebruiker ook de gelegenheid heeft om zelf woorden toe te voegen aan het einde van de array:
$nieuwwoord = trim(fgets(STDIN));
$woorden[] = $nieuwwoord;
Debug
Wil je weten wat er in een array zit dan kun je deze niet eenvoudig met een echo tonen. Het kan wel met de volgende functies:
print_r($woorden);
var_dump($woorden);
Array functies
Een lijst met functies kan je hier vinden: https://www.php.net/manual/en/ref.array.php
String en array's
Wist je dat een string ook een soort array is? Een gewone string kunnen we ook op deze manier uitlezen:
$tekst = "daan";
echo $tekst[3]; // output is "n"
Je kan met een for loop (zie herhaling) dus letter voor letter uit een string halen.
for($x = 0; $x < strlen($tekst); $x++) {
echo $tekst[$x] . " - ";
}
// output is "d - a - a - n - "
Opdracht 7a woordenlijst
Maak een script met functions/taken die het volgende kan:
- Woord toevoegen aan het einde van array
- Woordenlijst tonen
- Woord verwijderen
- Woord toevoegen aan begin van array
- Lengte lijst tonen
- Willekeurig woord kiezen
- Bedenk nog 2 functies