Soms wil je op je website een reeks van getallen tonen. Je wilt bijvoorbeeld beschikbare jaartallen laten zien voor het invoeren van een geboortedatum of je wilt de getallen 1 t/m 10 laten zien voor het stemmen op een artikel. Natuurlijk kun je deze getallen handmatig invoeren, maar dat neemt zeer veel tijd in beslag, vooral bij een grotere reeks aan getallen. PHP heeft hier de oplossing voor. Door gebruik te maken van een for-loop kun je zeer snel een reeks getallen laten zien en vervolgens gebruiken voor allerlei zaken.
Simpele getallen reeks
We beginnen simpel met het laten zien van een getallenreeks van 1 t/m 10:
for ($i = 1; $i <= 10; $i++) {
echo $i.'-';
}
// Laat zien: 1-2-3-4-5-6-7-8-9-10-
Zoals je ziet bestaat de for-loop uit 3 zogenaamde expressies. De eerste expressie wordt één keer uitgevoerd aan het begin van de loop, in het bovenstaande voorbeeld is dat $i gelijk is aan 1, en de reeks dus met dat getal begint. De tweede expressie is wat ingewikkelder. Deze expressie toont aan, aan welke eis het moet voldoen om door te gaan met de loop. In het bovenstaande voorbeeld is dat $i kleiner of gelijk moet zijn aan 10. De laatste expressie wordt steeds voor elk getal uitgevoerd. In het bovenstaande voorbeeld is dat er steeds 1 wordt opgeteld.
Om dit wat duidelijker te maken veranderen we het bovenstaande voorbeeld:
for ($i = 5; $i <= 15; $i=$i+2) {
echo $i.'-';
}
// Laat zien: 5-7-9-11-13-15-
Geboortedatum
We sluiten de webtip van deze week af met een voorbeeld voor het invoeren van een geboortedatum:
<select name="day">
<?php
for ( $i = 1; $i <= 31; $i++) {
echo '<option value="'.$i.'">'.$i.'</option>';
}
?>
<select>
<select name="month">
<?php
for ( $i = 1; $i <= 12; $i++) {
echo '<option value="'.$i.'">'.$i.'</option>';
}
?>
<select>
<select name="year">
<?php
for ( $i = 1920; $i <= date('Y'); $i++) {
echo '<option value="'.$i.'">'.$i.'</option>';
}
?>
<select>
Dit zal er ongeveer als volgt uitzien:

Zoals je ziet bestaan de dag en maand gewoon uit een simpele getallenreeks. Voor het jaar hebben we gekozen om te beginnen bij het jaar 1920 om vervolgens door te rekenen tot het huidige jaar (date('Y')).
