PHP Tutorial.nl

Word een PHP expert!!!

Home » Keuzes maken (logica)

Keuzes maken (logica)

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).