Skip to main content

7 Condition if-then-else

Stel je maakt een spel en je moet bepalen of de speler het juiste antwoord heeft gegeven. Dan gaat dat als volgt:

  • Heeft de gebruiker het juiste antwoord gegeven dan komt er 1 bij zijn score.
  • Heeft de gebruiker niet het juiste antwoord gegeven dan gebeurt er niets.

Er komt alleen iets bij de score als er aan een voorwaarde (een voorwaarde) is voldaan. In PHP heb je hiervoor een statement. Dit statement heeft een voorwaarde en als er aan de voorwaarde wordt voldaan dan wordt er een ander statement of stukje code uitgevoerd.

Dat ziet er bijvoorbeeld zo uit:

$score=0;

$vraag = "Hoeveel is 10+2?";
$antwoord = 12;

if ( $antwoord == 12 ) {
$score = $score + 1;
}

echo "De score is: $score";

 Op regel 6 wordt het antwoord gecontroleerd. Is het antwoord juist dan wordt alle code tussen { en } uitgevoerd. In dit geval is dat alleen regel 7.

Wat valt je op? De dubbele == op regel 6?



Stel voor dat als de score fout is dat er dan een punt van de score wordt afgetrokken, dan zou je dat zo kunnen coderen:

$score=0;

$vraag = "Hoeveel is 10+2?";
$antwoord = 12;

if ( $antwoord == 12 ) {
$score = $score + 1;
} else {
$score = $score -1;
}

echo "De score is: $score";

In PHP heb je twee verschillende soorten conditional statements namelijk:

  • if, elseif, else
    • Gebruik je om èèn of meerdere waardes te vergelijken
    • De uitkomst van de vergelijking (true, false) bepaalt welk stuk code er uitgevoerd moet worden
  • switch
    • Gebruik je om èèn waarde te vergelijken tegenover meerdere mogelijke overeenkomsten

We beginnen simpel met een if statement:

In PHP zijn dit de regels voor het opschrijven van een if statement:

Syntax

if(condition){
  //code die uitgevoerd worden als de conditie TRUE is.
}

\Nu gaan we vergelijken of $variabele1 gelijk (==) is aan $variabele2 als de vergelijking waar (true) is tonen we de volgende tekst op het scherm de vergelijking is waar!.

Eerst moeten we de variabelen aanmaken:

    $variabele1 = 10;
    $variabele2 = 10;
  • Schrijf voor de vergelijking eerst if() op -> PHP begrijpt nu dat je een vergelijking wil maken
  • Schrijf tussen de () de vergelijking die je wilt maken op:
    $variabele1 == $variabele2 -> PHP verwacht de vergelijking tussen de () na de if, anders snapt hij het niet!

Dit is hoe de code er dan uit komt te zien:

if($variabele1 == $variabele2)
  • PHP zal als de vergelijking true (waar) is doorgaan en verwacht een {
  • Op de regel daarna verwacht PHP de code die hij moet uitvoeren:
    echo "de vergelijking is waar!";
  • Om aan PHP te vertellen dat we aan het einde gekomen zijn van de code die hij moet uitvoeren als de vergelijking waar is sluiten we af met een }

Dit is hoe de gehele code er uit moet zien:

$variabele1 = 10;
$variabele2 = 10;

if($variabele1 == $variabele2) {
    echo "de vergelijking is waar!";
}

De meest gemaakte fout bij een if statement is dat de vergelijking met èèn = wordt geschreven ($variabele1 = $variabele2) in plaats van ($variabele1 == $variabele2). Let daar goed op want je code gaat niet werken als je het fout doet!

Leerdoelen

  1.  Ik weet wat de verschillende conditional statements zijn
  2.  ik weet wat een if statement is
  3.  Ik maak een if statement met verschillende vergelijkingen
  4.  Ik volg de juiste regels voor het schrijven van een if statement

Bronnen

Jaap vd Veen - statements
W3 Schools - operators
W3 Schools - if else