PHP Variabelen

Home / Programmeren / Php / Lussen

Voorwaarden

Ik hoop dat u de booleaanse logica uit de beginnerstutorials een beetje gesnapt hebt, want we gaan er nu mee werken. In PHP maken gebruik van de 'normale' operatoren (zie hiervoor de basis tutorial)

<?php
if($a == 2){

echo "$a is gelijk aan 2";

}
?>

De bovenstaande code zorgt ervoor dat de tekst: "$a is gelijk aan 2" alleen wordt getoond als $a ook daadwerkelijk gelijk is aan 2. De accolades zijn een soort begrenzing: als $a gelijk is aan 2, dan wordt alles tussen de 2 accolades uitgevoerd. Tussen de accolades kunt u ook gewone HTML gebruiken. Bijvoorbeeld:

<?php
if($a == 2){
?>

$a is gelijk aan 2

<?php
}
?>

Dit is vooral praktisch als u een grote hoeveelheid HTML tussen "if-blokken" wilt zetten. Vaak is het zo dat als de voorwaarde opgaat u een bepaalde code wilt laten uitvoeren, en gaat de voorwaarde niet op, dan komt daar een andere code voor in de plaats. Dit kunt u heel snel bereiken met de volgende code:

if($a<1){
echo "$a is kleiner dan 1";
}else{
echo "$a is niet kleiner dan 1";
}

U ziet, als $a kleiner is dan 1, dan gaat de eerste code in werking, zo niet, dan de 2e. Misschien wilt u wel een hele hoop voorwaarden controleren, hier hebben we weer iets anders voor:

if($a<1){
echo "$a is kleiner dan 1";
}elseif($a == 1){
echo "$a is 1";
}else{
echo "$a is niet kleiner dan of gelijk aan 1";
}

Als $a kleiner is dan 1 gaat code 1 in werking, is $a gelijk aan 1, dan gaat code 2 in werking, is aan geen van de voorgaande voorwaarden voldaan, dan gaat code 3 in werking. Dit model is erg handig als u uw pagina's interactiever wilt maken.

Lussen

Nu gaan we verder met lussen! Lussen gebruikt u als bepaalde codes vaker dan een keer gebruikt. Het aantal keren dat de lus doorlopen wordt kunt u vast instellen of af laten hangen van een bepaalde variabele. In het volgende voorbeeld maken we een lus dat een vast aantal keren wordt doorlopen met een zogenaamde while-lus.

<?php
$teller=0;
$einde=6;
while($teller<=$einde){
echo "De waarde van de teller is nu: " . $teller . "<br>";
$teller++;
}
?>

Dit zou het volgende effect moeten geven. Zoals u ziet in het script worden eerst de variabelen teller en einde gedeclareerd. Vervolgens wordt de lus gestart als de variabele teller kleiner is dan de variabele einde. Als dit zo is, dan wordt alles tussen de accolades uitgevoerd. In dit geval wordt er boodschap weergegeven en de variabele teller wordt met een opgehoogd. Let goed op met lussen. Als u bijvoorbeeld een lus maakt waar geen einde aan komt omdat aan de voorwaarde altijd wordt voldaan, dan krijgt u een lus die niet meer eindigt. Dit zorgt ervoor dat u een oneindig lang script krijgt als u het zelf niet zou onderbreken. Let hier op!

De For-lus

Er is nog een 2e type lussen dat ik ga bespreken. Dit zijn de for lussen. Deze worden vaak gebruikt als er sprake is van een speciale telvariable, zoals in het bovenstaande voorbeeld van toepassing was. Een for jus werkt iets anders dan een while lus. Zo wordt in een for lus gezegd wat de beginwaarde van de teller is, wanneer hij moet stoppen en hoe de teller moet worden opgehoogd/verlaagd. Je krijgt dan dit:

<?php
for($teller=0;$teller<=7;$teller++){
echo "De waarde van de teller is nu: " . $teller . "<br>";
}
?>

Zoals je wel ziet kan dit soms veel overzichtelijker zijn, omdat er niet overal variabelen "rondzwerven". Het is natuurlijk je eigen keus welke van de 2 lussen je gebruikt, maar vaak is de een handiger voor de ene situatie, en de andere handig voor een andere situatie.