3 Vergelijkingen en forms
Vergelijkingen, bijvoorbeeld met if-then-else gaan min of meer hetzelfde als in PHP. We gaan in deze les een praktijk opdracht doen en gaan daarbij gebruik maken van forms. Let op forms zijn erg belangrijk en komen telkens terug, ze maken ook onderdeel uit van Laravel en van het examen.
Boolean
Een boolean is een data type in bijna alle programmeertalen en kent twee waarden true of false. Soms staan deze waarden gelijk aan 1 en 0; 1 is dan true en 0 is dan false. In PHP geldt dat alle waarden behalve een 0 of een lege waarde zijn true. Dit kan belangrijk zijn omdat een if-statement altijd met een boolean werkt.
Dus: alles is true behalve een 0, een lege object/string, of de boolean false
Dat bekent dus bijvoorbeeld dat:
<?php
if ( 1 ) { ...... // dit is true en de if wordt uitgevoerd
if ( "" ) { ..... // dit is false en de if wordt niet uitgevoerd
if ( 3-3 ) { .... // dit is false en de if wordt niet uitgevoerd
if ( "Hallo" ) .. // dit is true en de if wordt dus uitvevoerd
Later gaan we nog meer oefenen met if statements.
Vergelijkingen
Een vergelijking resulteert altijd tot een boolean (true of flase). PHP kent de volgende belangrijkste vergelijkingen.
Vergelijkings Operator | Betekenis | Voorbeeld |
== | is gelijk aan | $teller==3 of $naam=="John" |
<> of != | is ongelijk aan | $teller!=3 of $naam<>"John" |
< | is kleiner dan | $nummer<10 |
> | is groter dan | $nummer>10 |
<= | is kleiner dan of gelijk aan | $nummer<=10 |
>= | is groter dan of gelijk aan | $nummer>=10 |
We kunnen een variabele ook typecasten naar een boolen met (bool) of met (boolean). Met vardump kunnen we dan het type variabele en de waarde afdrukken.
<?php
var_dump(1==1);
$naam="";
var_dump( (bool)$naam );
$naam="Maria";
var_dump( (bool)$naam );
?>
Opgave 1
Je kunt deze opgave maken door het Word document te downloaden en in te vullen.
- Bepaal van de volgende waarden of ze true of false zijn en laat zien welke code je daarvoor hebt gebruikt. Probeer van te voren te voorspellen wat de uitkomst (true of false) is.
Opgave | Vergelijking | true of false? |
1 | ( "ROC" ) | |
2 | ( "true" ) | |
3 | ( "false ") | |
4 | ( 0 ) | |
5 | ( 1 ) | |
6 | ( "0" ) | |
7 | ( "1" ) | |
8 | ( 3+3 ) | |
9 | ( 12-12 ) | |
10 | ( 201*0 ) | |
11 | ( 12<12 ) | |
12 | ( 1201 != 1200 ) | |
13 | ( 1201 >= 1201 ) |
Als $a=0 en $b=1 wat is dan de uitkomst van de volgende statements?
Opgave | Vergelijking | true of false? |
14 | ($a==1) | |
15 | ($b==1) | |
16 | ($a==1 or $b==1) | |
17 | ($a==0 and $b<>1) | |
18 | ($a<>1 and $b<>0) | |
19 | ($a+$b==1 and $a*$b==0) | |
20 | ($a+$b==1 or $a*$b==0) | |
21 | ($a) | |
22 | ($b) | |
23 | ($a and $b) | |
24 | ($a or $b) | |
25 | ($a or $b*$a) | |
26 | ( ($a+2)*10>5 and $a ) |
If-statement
Het if statement in PHP is hetzelfde als in JavaScript. Ook de && en || zijn ook hetzelfde, maar mogen ook als and en or worden geschreven. Dus:
if ( $leeftijd > 21 && $leeftijd < 30 ) { ...
// dit is hetzelfde als
if ( $leeftijd > 21 and $leeftijd < 30 ) { ...
if ( $naam == "" || $naam == "leeg" ) { ...
// dit is hetzelfde als
if ( $naam == "" or $naam == "leeg" ) { ...
Het if statement is verder ook hetzelfde als in JavaScript:
if ( $command == "execute" ) {
// ......hier komt code voor als de gebruiker execute heeft gekozen.
} elseif ( $command == "cancel" ) {
// ......hier komt code voor als de gebruiker cancel heeft gekozen.
} else {
// ......hier komt code voor als de gebruiker geen execute of cancel heeft gekozen.
}
User input
De les over forms en user input is verplaatst naar de volgende les 3.1
--