# 7 Condition if-then-else

<div class="application-main " data-commit-hovercards-enabled="" data-discussion-hovercards-enabled="" data-issue-and-pr-hovercards-enabled="" id="bkmrk-if-stel-je-maakt-een"><div class="application-main " data-commit-hovercards-enabled="" data-discussion-hovercards-enabled="" data-issue-and-pr-hovercards-enabled=""><div class=""><div class="container-xl clearfix new-discussion-timeline px-3 px-md-4 px-lg-5"><div class="repository-content "><div><div class="Box md js-code-block-container Box--responsive"><div class="Box-body px-5 pb-5" data-target="readme-toc.content"><article class="markdown-body entry-content container-lg">#### *Wat ga je leren?*

<table border="1" id="bkmrk-in-deze-les-leer-je--0" style="border-collapse: collapse; width: 100%;"><tbody><tr><td style="width: 99.9177%; background-color: #bfedd2;">Code wordt regel voor regel van boven naar beneden uitgevoerd, maar niet alle code hoeft te worden uitgevoerd.  
  
Je hebt ook code die alleen maar wordt uitgevoerd als er aan een voorwaarde (of conditie) is voldaan. Hiervoor heb je conditional statements in PHP. Dat is eigenlijk een moeilijk woord voor een *if* (in het Nederlands een *als*).

In deze les leer je hoe je met een if in PHP kan werken en hoe je dus kan zorgen dat code alleen wordt uitgevoerd als er aan ene voorwaarde wordt voldaan.

</td></tr></tbody></table>

##### IF

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 is voldaan. In PHP heb je hiervoor een if-statement. Dit statement heeft een voorwaarde en als er aan de voorwaarde wordt voldaan dan wordt er een ander statement of stukje code uitgevoerd.

</article></div></div></div></div></div></div></div></div>Dat ziet er bijvoorbeeld zo uit:

```PHP
$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?   
  
Op regel 4 zie je een enkele = en op regel 6 een dubbele!

Dat komt omdat ze beide iets anders betekenen.

<table border="1" id="bkmrk-teken-voorbeeld-bete" style="border-collapse: collapse; width: 100%;"><tbody><tr><td style="width: 15.5709%; background-color: #c2e0f4;">teken  
</td><td style="width: 27.0638%; background-color: #c2e0f4;">voorbeeld  
</td><td style="width: 57.3406%; background-color: #c2e0f4;">betekent  
</td></tr><tr><td style="width: 15.5709%;">=  
</td><td style="width: 27.0638%;">$antwoord = 12  
</td><td style="width: 57.3406%;">De waarde van $antwoord **wordt** 12

</td></tr><tr><td style="width: 15.5709%;">==  
</td><td style="width: 27.0638%;">$antwoord == 12  
</td><td style="width: 57.3406%;">Is de waarde van $antwoord **gelijk aan** 12?

</td></tr></tbody></table>

We kunnen ons afvragen of waarden gelijk zijn, maar er zijn nog een heel stel andere voorwaarden. De belangrijkste zijn:

<table border="1" id="bkmrk-teken-voorbeeld-bete-0" style="border-collapse: collapse; width: 100%;"><tbody><tr><td style="width: 15.5709%; background-color: #c2e0f4;">teken  
</td><td style="width: 27.0638%; background-color: #c2e0f4;">voorbeeld  
</td><td style="width: 57.3406%; background-color: #c2e0f4;">betekent  
</td></tr><tr><td style="width: 15.5709%;">==  
</td><td style="width: 27.0638%;">$antwoord == 12  
</td><td style="width: 57.3406%;">Is de waarde van $antwoord **gelijk aan** 12?

</td></tr><tr><td style="width: 15.5709%;">!=  
</td><td style="width: 27.0638%;">$antwoord != 12  
</td><td style="width: 57.3406%;">Is de waarde van $antwoord **ongelijk** aan 12?

</td></tr><tr><td style="width: 15.5709%;">&gt;  
</td><td style="width: 27.0638%;">$antwoord &gt; 12  
</td><td style="width: 57.3406%;">Is de waarde van $antwoord **groter** dan 12?

</td></tr><tr><td style="width: 15.5709%;">&lt;  
</td><td style="width: 27.0638%;">$antwoord &lt; 12  
</td><td style="width: 57.3406%;">Is de waarde van $antwoord **kleiner** dan 12?

</td></tr><tr><td style="width: 15.5709%;">&gt;=  
</td><td style="width: 27.0638%;">$antwoord &gt;= 12  
</td><td style="width: 57.3406%;">Is de waarde van $antwoord **groter of gelijk** aan 12?

</td></tr><tr><td style="width: 15.5709%;">&lt;=  
</td><td style="width: 27.0638%;">$antwoord &lt;= 12  
</td><td style="width: 57.3406%;">Is de waarde van $antwoord **kleiner of gelijk** aan 12?

</td></tr></tbody></table>

**ELSE**  
  
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

```PHP
$score=0;

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

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

echo "De score is: $score";
```

<div class="application-main " data-commit-hovercards-enabled="" data-discussion-hovercards-enabled="" data-issue-and-pr-hovercards-enabled="" id="bkmrk-opdracht-7.1-maak-ee"><div class=""><div class="container-xl clearfix new-discussion-timeline px-3 px-md-4 px-lg-5"><div class="repository-content " id="bkmrk-opdracht-7.1-maak-ee-0"><div class="Box md js-code-block-container Box--responsive" id="bkmrk-opdracht-7.1-maak-ee-1"><div class="Box-body px-5 pb-5" data-target="readme-toc.content"><article class="markdown-body entry-content container-lg">  
### Opdracht 7a  


Maak een nieuw bestand en noem dat php107a-jouw-naam.php

Maak de onderstaande code af door de puntjes op regel 4 te vervangen door een vergelijking te maken. Controleer of de waarde van $variabele1 en $variabele2 gelijk zijn.

```PHP
$variabele1 = 10;
$variabele2 = 10;

if(.......) {
    echo "De twee waarden zijn gelijk";
}
```

</article><article class="markdown-body entry-content container-lg">#### Inleveren

</article><article class="markdown-body entry-content container-lg">1. php07a-jouw-naam.php

### Opdracht 7b

Maak een nieuw bestand en noem dat php107b-jouw-naam.php

Maak de onderstaande code af door de puntjes op regel 4 te vervangen door een vergelijking te maken. Controleer of de waarde van $variabele1 en $variabele2 ongelijk zijn.

```PHP
$variabele1 = 10;
$variabele2 = 10;

if(.......) {
    echo "De twee waarden zijn ongelijk gelijk";
}
```

#### Inleveren

1. php07b-jouw-naam.php

### Opdracht 7c

</article><article class="markdown-body entry-content container-lg">Maak een nieuw bestand en noem dat php107c-jouw-naam.php

Maak de onderstaande code af door de puntjes op regel 4, 6 en 8 te vervangen. Maak een if-then-else constructie en zorg ervoor dat de juisten tekst wordt afgedrukt.

```PHP
$variabele1 = 10;
$variabele2 = 10;

....
    echo "De twee waarden zijn gelijk";
....
    echo "De twee waarden zijn ongelijk";
....
```

#### Inleveren

1. php107c-jouw-naam.php

## Bronnen

[Jaap vd Veen - statements](https://phpbasis.jaapvdveen.nl/basiscursus-php/les-2-inleiding-statements/)  
[W3 Schools - operators](https://www.w3schools.com/php/php_operators.asp)  
[W3 Schools - if else](https://www.w3schools.com/php/php_if_else.asp)

</article></div></div></div></div></div></div>