Bedankt voor de reacties :) ik heb gekozen voor de methode van Thomas.
@thomas zou je er misschien comments bij willen zetten zodat ik php beter leer begrijpen wat er staat.
Het % symbool berekend het restant van een deling. Bijvoorbeeld
7 % 3 = 1 (je kan twee keer drie stuks halen uit zeven stuks en dan hou je er één over)
6 % 2 = 0 (je kan drie keer twee stuks halen uit zes stuks en houdt dan niets / nul over)
>> word bij dit statement gekeken of $open true is?
Ja. De volgende zijn gelijkwaardig:
if(true === $open)
if($open === true)
if($open)
Ook kun je false gebruiken:
if(false === $open)
if($open === false)
if(!$open)
>> //hier word de variabel +1
Klopt. Dit is allemaal (bijna) hetzelfde:
$i++
$i = $i + 1;
$i += 1;
++$i;
er zit wel een verschil in $i++ en ++$i. Bekijk de volgende snippets:
<?php
$i = 1;
echo $i++; // output: 1
?>
<?php
$i = 1;
echo ++$i; // output: 2
?>
De laatste verhoogd $i eerst met één voordat deze hem echo-t. De prioriteit ligt bij ++$i dus hoger dan bij $i++ zou je kunnen zeggen.
@Frank heeft het hierboven al goed verwoord. Boolse variabelen (variabelen met uitsluitend de waarde true of false) hoef je niet per se te vergelijken met true of false, al zou het de leesbaarheid ten goede kunnen komen als je de ontkenning van een waarde die true zou moeten zijn expliciet vergelijkt met false, omdat je een uitroepteken ( ! ) snel over het hoofd kunt zien.
<?php
$someVar = true;
if ($someVar === true) { // expliciete vergelijking niet echt nodig, simpelweg if ($someVar) { ... } volstaat
// ...
}
if ($someVar === false) { // kan handig zijn
// ...
}
// of zelfs
if (false === $someVar) { // om ervoor te zorgen dat je dit nooit met een toekenning ($someVar = false;) verwart
// ...
}
?>
Daarnaast kan het ook handig zijn om dit soort Boolse variabelen een naam te geven die een true/false toestand aanduidt. Mogelijk was dus $tagOpen of $tagIsOpen ofzo een betere naam geweest dan $open omdat dat min of meer een ja/nee waarde impliceert.
@frank @thomas bedankt voornde heldere uitleg betreft dit stukje PHP.
Kun je dan ook controleren op het laaste <ul> element?
Daarmee bedoel ik doe iets met elk laatste <ul> element.
Ja, je kunt controleren of je bij de laatste index bent aangeland door $i (voordat je deze verhoogt) te vergelijken met het aantal items van $items minus 1, omdat je begint te tellen bij 0.
Dit zijn in principe alle operaties op arrays, dus los van deze specifieke vraagstelling zou je je kunnen verdiepen in de werking van arrays (hoe vraag ik (de index van) het laatste element van een array op?). Dit soort vraagstukken kun je ook in Goegel gooien met hierin de prefix "php", daarmee kom je meestal een eind.