Loops
Operators
Voordat we de loops gaan bespreken moeten we het eerste hebben over logische en vergelijkingsoperators hebben. Een vergelijkingsoperator – zoals de naam al zegt – vergelijk 2 waardes met elkaar. Dit kunnen variabelen zijn, maar bijvoorbeeld ook een variabele met een string of integer of en andere waarde.
Vergelijkingsoperators
Hieronder een overzicht van alle vergelijkingsoperators
| Voorbeeld | Naam | Resultaat |
|---|
| $a == $b | Is gelijk aan | Geeft TRUE als $a gelijk is aan $b, de datatypes hoeven niet hetzelfde te zijn. |
| $a === $b | Is identiek aan | Geeft TRUE als $a identiek is aan $b, dus de datatypes moeten gelijk zijn. |
| $a != $b of $a <> $b | Is niet gelijk aan | Geeft TRUE als $a en $b niet gelijk aan elkaar zijn, de datatypes hoeven niet gelijk aan elkaar te zijn |
| $a !== $b | Is niet identiek aan | Geeft TRUE als $a niet identiek is aan $b, dus datatypes moeten wel gelijk zijn. |
| $a < $b | Is kleiner dan | Geeft TRUE als $a kleiner dan $b is. |
| $a > $b | Is groter dan | Geeft TRUE als $a groter dan $b is |
| $a <= $b | Is kleiner of gelijk aan | Geeft TRUE als $a kleiner of gelijk aan $b is. |
| $a >= $b | groter of gelijk aan | Geeft TRUE als $a groter of gelijk aan $b is. |
Logische operators
Een logische operator kijkt of bijvoorbeeld 2 dingen TRUE zijn. Bijvoorbeeld als a gelijk is aan b EN b gelijk is aan c. Dan is EN de logische operator en gelijk aan is de vergelijkingsoperator. Hieronder een overzicht van de logische operators.
| Voorbeeld | Naam | Resultaat |
| $a and $b OF $a && $b | En | Als $a en $b TRUE zijn dan geeft het TRUE |
| $a or $b OF $a || $b | Of/en | Als $a of/en $b TRUE zijn, geeft het TRUE |
| $a xor $b | Of | Als $a of $b TRUE is, maar niet beide, geeft het TRUE. |
| ! $a | Niet | Als $a niet TRUE is, geeft het TRUE |
Loops
Een loop kun je zien als een soort toegangsblok voor een stuk code. Deze code staat tussen { en }, behalve als het slechts 1 commando is. In dat geval kunnen de { en } weg worden gelaten. Als de logische test TRUE oplevert, wordt de code uitgevoerd. Het stuk code heet het statement.
If loop
De if loop is de simpelste loop die er is. Er is geen terugkoppeling, dus als de logische test TRUE is, dan wordt het statement uitgevoerd. Bijvoorbeeld:
<?php
$sA = 'A';
$sB = 'B';
$iA = 1;
if($sA == $sB)
echo 'Dit klopt niet!';
if($iA === true)
echo 'Dit klopt niet!';
if(!$iA === true)
echo 'Dit zie je wel.';
?>
De output van deze code is:
Dit zie je wel.
De reden dat bij de 2e loop er niets gebeurde en bij de 3e wel, is dat bij de 2e $iA niet identiek is aan true. Bij de 3e staat er alleen een ! voor, waardoor de false als het waren wordt omgeslagen naar true. Waardoor je wel 'Dit zie je wel' ziet. Het is het beste om hier veel mee te oefenen en te experimenteren, zodat het duidelijker wordt.
While en do-while
De while loop is een if loop met terugkoppeling. Bijvoorbeeld:
<?php
$i = 0;
while($i < 2)
{
$i++;
echo $i;
}
?>
Dit geeft als output
12
Dit is omdat elke keer nadat het statement is uitgevoerd, de parser teruggaat naar de logische test en als de logische test TRUE geeft, wordt het statement weer uitgevoerd. Daarom moet je oppassen bij een while loop, dat je hem niet oneindig lang door laat gaan.
De do-while loop is hetzelfde als de while loop, alleen dan wordt eerst het statement uitgevoerd en dan pas de logische test gedaan. Bijvoorbeeld
<?php
$i = 3;
do
{
echo $i;
$i++;
}
while($i < 2)
?>
Dit geeft als output 3, omdat eerst het statement wordt uitgevoerd en dan pas de logische test.
Switch
Het switch statement lijkt ook sterk op het if statement, maar het verschil is dat er meerdere uitkomsten en meerdere statements mogelijk zijn. Bovendien is de enige vergelijkingsoperator de ==. Voorbeeld
<?php
$i = rand(1, 4); //Neem een willekeurig getal tussen de 1 en 4
switch($i)
{
case 1:
echo 'Het was 1.';
break;
case 2:
case 3:
echo 'Het was 2 of 3';
break;
case 4:
echo 'Het was 4';
break;
}
?>
For
De for loop lijkt op de while loop, alleen er is een groot verschil. Het heeft namelijk 3 'parameters'. In het eerste wordt een variabele (of variabelen) aangemaakt. In de tweede wordt een logische test gedaan en in de derde wordt stuk code uitgevoerd. Een voorbeeld:
<?php
for ($i = 1; $i <= 10; $i++) {
echo $i;
}
?>
De output hiervan is 12345678910. Dit stuk met code kan ook op meerdere manieren worden gemaakt, hieronder nog 3 voorbeelden.
<?php
for ($i = 1; ; $i++) {
if ($i > 10)
{
break;
}
echo $i;
}
$i = 1;
for (; ; )
{
if ($i > 10)
{
break;
}
echo $i;
$i++;
}
for ($i = 1; $i <= 10;print $i, $i++);
?>
Ze hebben allemaal dezelfde output.
Foreach
De foreachloop is een speciale loop omdat het voor elke waarde uit een array een statement uitvoert. Het haalt de array als het waren uit elkaar en voert voor elke waarde het statement uit. Bijvoorbeeld:
<?php
$aArray[1] = 'A';
$aArray['B'] = 'B';
foreach($aArray as $sKey => $sValue)
{
echo $sKey . ' => ' . $sValue . '<br />';
}
?>
Dit geeft als output
1 => A
B => B
Andere delen
- Inleiding
- Variabelen
- Loops
- Functies
- Superglobals