Lus
In de informatica is een lus een programmeerstructuur die een reeks instructies herhaalt totdat aan een specifieke voorwaarde is voldaan. Programmeurs gebruiken lussen om waarden te doorlopen, sommen van getallen op te tellen, functies te herhalen en nog veel meer.
Lussen worden ondersteund door alle moderne programmeertalen, hoewel de implementatie en syntaxis ervan kunnen verschillen. Twee van de meest voorkomende soorten lussen zijn de while-lus en de for-lus.
While-lus
Een while-lus is de eenvoudigste vorm van een programmeerlus. Deze geeft aan dat de lus moet blijven doorgaan zolang een voorwaarde geldig is. In het onderstaande PHP-voorbeeld gaat de while-lus door totdat i gelijk is aan num.
$i = 1;
$num = 21;
while ($i < $num) // stop when $i equals $num
{
echo "$i, ";
$i++; // increment $i
}
Als $i 1 is en $num 21 is, drukt de lus 1, 2, 3, 4… enzovoort af, helemaal tot en met 20. Daarna stopt de lus of wordt deze "afgebroken" na 20 iteraties, omdat aan de while-voorwaarde is voldaan.
For-lus
Een for-lus lijkt op een while-lus, maar maakt de broncode overzichtelijker. De for-lusinstructie bepaalt het begin- en eindpunt en de verhoging voor elke iteratie. Hieronder staat dezelfde lus als hierboven, maar dan gedefinieerd als een while-lus.
$num = 21;
for ($i = 1; $i < $num; $i++) // stop when $i equals $num
{
echo "$i, ";
}
Hoewel for-lussen en while-lussen vaak onderling uitwisselbaar zijn, is het vaak verstandiger om de ene boven de andere te verkiezen. In de meeste gevallen hebben for-lussen de voorkeur, omdat ze overzichtelijker en gemakkelijker te lezen zijn. In sommige situaties kan een while-instructie echter efficiënter zijn. Zo kan de volgende PHP-instructie worden gebruikt om alle waarden uit een MySQL-resultaat met slechts één regel code in een array te laden.
while ($row = mysql_fetch_array($result))
NOTE: Omdat lussen doorgaan totdat aan een bepaalde voorwaarde is voldaan, is het belangrijk ervoor te zorgen dat de lus op een bepaald moment wordt afgebroken. Als nooit aan de voorwaarde wordt voldaan, gaat de lus oneindig door en ontstaat er een oneindige lus. Code schrijven die oneindige lussen mogelijk maakt, is een slechte programmeerpraktijk, omdat zulke lussen ervoor kunnen zorgen dat programma's vastlopen.
Test je kennis