We kunnen nu een tekst weergeven en een bepaalde waarde toekennen aan een variabele. Met deze variabele kunnen we vervolgens een bepaalde berekening mee uitvoeren. Nu wordt het tijd om bepaalde keuzes uit te voeren op basis van uitkomsten.
Soms wil je het verloop van het ‘programma’ in de ene situatie anders laten verlopen dan in de andere situatie. Hiervoor kunnen we if-else
statements gebruiken.
Stel we hebben een variabele$leeftijd
en we willen op basis hiervan iets tonen voor de mensen boven de 25 en iets anders voor de mensen die jonger zijn dan 25.
<?php
if ( $leeftijd > 25 ) {
echo 'Je bent de 25 voorbij.';
}
else {
echo 'Je bent nog geen 25 geweest.';
}
?>
Het bovenstaande voorbeeld kunnen we vertalen naar: Als leeftijd is groter dan 25 toon dan ‘Je bent de 25 voorbij.’ anders toon ‘Je bent nog geen 25 geweest.’
Wat nu als je een extra situatie wilt afhandelen? Dan kunnen we elseif
gebruiken.
<?php
if ( $leeftijd > 25 ) {
echo 'Je bent de 25 voorbij.';
}
elseif ( $leeftijd == 25 ) {
echo 'Je bent nu 25';
}
else {
echo 'Je bent nog geen 25 geweest';
}
?>
Condities
Een if
statement bekijkt of een bepaalde verwachting overeenkomt. Dit noemen we een conditie. Het resultaat van een conditie zal waar (TRUE
) moeten zijn.
Condities combineren
Een if
-statement hoeft niet uit slechts één conditie te bestaan. Het is mogelijk om condities te combineren. Zo kun je aangeven dat de statement aan twee condities moet voldoen:
<?php
if ( $leeftijd > 16 AND $leeftijd < 18 ) {
echo "Je hebt waarschijnlijk een scooter en je bent bijna meerderjarig.";
}
?>
Toegegeven: hetif
-statement is vrij fragiel, maar in dit geval moet de leeftijd hoger zijn dan 16 en lager dan 18. We combineren beide condities met AND
, een equivalent hiervan is &&
.
We kunnen ook aangeven dat een van de condities moet voldoen.
<?php
if ( $leeftijd < 18 OR $leeftijd > 25 ) {
echo 'je bent nog geen achttien of je bent de 25 jaar voorbij';
}
?>
In het bovenstaande voorbeeld kijken we of de leeftijd kleiner is dan 18 of juist hoger dan 25. We gebruiken hiervoor OR
, een equivalent hiervan is ||
. Bij OR moet een van de condities voldoen.
Condities groeperen
Soms wil je OR
en AND
condities combineren. We moeten deze condities dan groeperen, omdat de OR
namelijk aangeeft dat een van de waarde hoeft te voldoen. De AND
wordt dan eenvoudig genegeerd als een waarde al voldoet.
<?php
if( $leeftijd > 18 OR $leeftijd < 25 AND $woonplaats == 'Amsterdam' ) {
echo 'Je hebt een goede leeftijd en je komt uit Amsterdam';
}
?>
Stel dat de leeftijd 19 is maar de $woonplaats
is Utrecht, dan zal er toch iets worden geëchood. Dit is niet de bedoeling. De leeftijd moet namelijk tussen de 18 en 25 liggen en de woonplaats moet Amsterdam zijn. We zullen de condities moeten groeperen. Dit doen we door ze tussen ronde haakjes te plaatsen.
<?php
if ( ( $leeftijd > 18 OR $leeftijd < 25 ) AND $woonplaats == 'Amsterdam' ) {
echo 'Je hebt een goede leeftijd en je komt uit Amsterdam';
}
?>
Operators
Bij het maken van condities kunnen we operators gebruiken. Zo kunnen we kijken of de waarde gelijk is aan ==
. De tegenhanger hiervan is niet gelijk aan !=
, soms wordt ook <>
gebruikt voor niet gelijk aan.
Tevens hebben we operators om te kijken of de waarde groter dan is >
en om te kijken of de waarde kleiner dan is <
. Van beide operators is er ook een versie die kijkt of het groter dan of gelijk is aan (>=
) en de tegenhanger kleiner dan of gelijk aan (<=
).
Daarnaast heb je nog de strikte vergelijkingen: ===
of !==
(hierover later meer).