PHP 4 - Switch-case, while, for, foreach

1 / 28
next
Slide 1: Slide
InformaticaWOStudiejaar 4,5

This lesson contains 28 slides, with interactive quizzes and text slides.

time-iconLesson duration is: 45 min
Report this lesson

Items in this lesson

Slide 1 - Slide

This item has no instructions

Lesstof

InformaticaBaas
D. PHP en SQL - SMC
PHP 4.1 

Slide 2 - Slide

This item has no instructions

Leerdoelen
Na deze les kun je (in PHP):
  • het verschil uitleggen tussen for- en while-loop
  • een for- en while-loop coderen
  • een foreach-loop beschrijven en coderen
  • in_array() kunnen toepassen
  • in je eigen woorden uitleggen wat switch doet
  • een simpel voorbeeld van switch coderen

Slide 3 - Slide

Rode achtergrond betekent: klas is stil, dit zijn de leerdoelen en quizzes waarbij niet overlegd mag worden.

Doel van deze les is om het leren zichtbaar te maken voor zowel leerling als docent.
While-loop 1/3
De while-loop kennen we nog van Python en JavaScript
Deze loop (of lus) gaat door zolang de voorwaarde True is

Deze loop heeft het gevaar van de oneindige loop ...
Waar moet je dus op letten bij een while loop? 

Slide 4 - Slide

This item has no instructions

While-loop 1/3
De while-loop kennen we nog van Python en JavaScript
Deze loop (of lus) gaat door zolang de voorwaarde True is

Deze loop heeft het gevaar van de oneindige loop ...
Waar moet je dus op letten bij een while loop? 
dat (een variabele in) de voorwaarde wordt aangepast binnen de loop! 

Slide 5 - Slide

This item has no instructions

While-loop 2/3
De syntax is nagenoeg hetzelfde als in JS:

while ( voorwaarde ) {
  # hier code uitvoeren
  # voorwaarde aanpassen!
}
            de voorwaarde is bijvoorbeeld $var1 > 10 

Slide 6 - Slide

This item has no instructions

While-loop 3/3

Slide 7 - Slide

This item has no instructions

For-loop 1/2
Een for-loop herhaalt een bepaald aantal keer (maar kan onderbroken worden), dus het gevaar op een oneindige loop is niet heel groot maar wel aanwezig
De PHP for-loop lijkt qua syntax erg op die van JavaScript:
for ( start; voorwaarde; wijziging per stap ) {
  # code hier
}

Slide 8 - Slide

This item has no instructions

For-loop 2/2





Aan het einde van elke iteratie vindt de wijziging per stap plaats ( in bovenstaande is dat dus $i++ )

Slide 9 - Slide

This item has no instructions

Wat is een juiste for-loop?
A
for (i=0

Slide 10 - Quiz

This item has no instructions

Maak een while loop met
$teller die start bij 0, en
stopt zodra er 9 iteraties zijn geweest
timer
3:00

Slide 11 - Open question

$teller = 0;
while ( $teller < 10 ) {
$teller++;
}

let op: 
$ voor variabele
variabele gedefinieerd voor de loop
; na de regel in het blok
Maak een for-loop met $i,
start bij 1, precies stopt op 10 iteraties,
in stappen van 2
timer
3:00

Slide 12 - Open question

for ( $i = 1; $i < 20; $i += 2 ) {
# code hier;
}

let op: 
$ voor variabele
; tussen elk onderdeel in de () 
+= 2
; na de regel in het blok
Foreach-loop 1/3
Met een foreach-loop "loop" je over de elementen van een array (wat we lijst noemden in Python), waarna je er iets mee kunt doen (bijvoorbeeld tellen)...



Slide 13 - Slide

This item has no instructions

Foreach-loop 2/3



De syntax van de loop is dat we beginnen met foreach en dan tussen haakjes eerst de array, gevolgd door as en dan de variabele waar we elk element langs zien komen
Die laatste variabele verandert dan per iteratie

Slide 14 - Slide

This item has no instructions

Foreach-loop 3/3
We gebruiken een foreach-loop dus feitelijk alleen
in combinatie met een array...
 
handig in dat verband is de PHP functie str_split() waarmee een string een array wordt

Je kunt ook een foreach-loop in een foreach-loop gebruiken

Slide 15 - Slide

This item has no instructions

Array
In PHP kun je een array ook handmatig maken met de standaard functie array()


Slide 16 - Slide

This item has no instructions

"iets" in array?
Om te kijken of "iets" in een array zit, gebruiken we in PHP de standaardfunctie in_array()

$needle = "e";
$haystack = array("a","b","c","d","e");
$uitkomst = in_array($needle,$haystack); // true

Let op: je ziet alleen OF iets voorkomt, NIET hoe vaak!

Slide 17 - Slide

This item has no instructions

Opdracht foreach
  1. .\htdocs\04.php en kopieer de code rechts
  2. Maak pseudocode waarmee de 5 klinkers worden geteld


timer
3:00

Slide 18 - Slide

This item has no instructions

Opdracht foreach
  1. .\htdocs\04.php en kopieer de code rechts
  2. Maak nu de echte code, zodat de 5 klinkers worden geteld


Tip: 
gebruik een foreach-loop 
met in_array()
timer
10:00

Slide 19 - Slide

This item has no instructions

Opdracht foreach
<?php
  $woord = "bananarama";
  $woord_letters = str_split($woord);
  $klinkers = array("a","e","i","o","u","y");
  $count = 0;
  
  foreach($woord_letters as $wletter) {
    if (in_array($wletter,$klinkers)) {
      $count++;
    }
  }
  
  print_r($woord . " heeft " . $count . " klinkers");
?>

Slide 20 - Slide

This item has no instructions

Switch (case) 1/5
Een nieuw concept (voor ons) is de switch-selectie

Hiermee kan worden voorkomen dat je een hele lange if-else if-statement maakt, wat snel heel onoverzichtelijk kan worden 

Slide 21 - Slide

This item has no instructions

Switch (case) 2/5
Switch heeft een aparte syntax:
switch ($var) {
   case geval1 : gevolg1; break;
   case geval2 : gevolg2; break; 
   default : gevolg0; break;
}
Per case wordt gekeken of die gelijk is aan $var 

Slide 22 - Slide

This item has no instructions

Switch (case) 3/5
Met switch geef je een lijst van mogelijkheden, gevolgd door een default (standaardwaarde)...
 
Let op, de standaardwaarde staat altijd onderaan!

Slide 23 - Slide

This item has no instructions

Switch (case) 4/5
Elke optie (case)
  • begint met case en 
  • dan de waarde waarmee de variabele wordt vergeleken,
  • dan volgt een : en 
  • dan de opdrachten als de case waar is,
     scheid deze met een ; en eindig met break;

Slide 24 - Slide

This item has no instructions

Switch (case) 5/5
Voorbeeld van website-foutcodes:

Slide 25 - Slide

This item has no instructions

Switch
  1. Maak .\htdocs\05.php
  2. Voeg een input-veld toe waar de gebruiker een getal kan invoeren, met een submit-knop
  3. Voeg in PHP code toe met switch-code, waardoor:
  • als 100 wordt ingevoerd wordt teruggegeven: "100%"
  • als 200 wordt ingevoerd wordt teruggegeven: "200%" 
  • alle andere waarden geeft terug: "jammer joh!"
timer
5:00

Slide 26 - Slide

This item has no instructions

Leerdoelen
Nu kun je (in PHP):
  • het verschil uitleggen tussen for- en while-loop
  • een for- en while-loop coderen
  • een foreach-loop beschrijven en coderen
  • in_array() kunnen toepassen
  • in je eigen woorden uitleggen wat switch doet
  • een simpel voorbeeld van switch coderen

Slide 27 - Slide

Rode achtergrond betekent: klas is stil, dit zijn de leerdoelen en quizzes waarbij niet overlegd mag worden.

Doel van deze les is om het leren zichtbaar te maken voor zowel leerling als docent.

Slide 28 - Slide

This item has no instructions