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

1 / 24
volgende
Slide 1: Tekstslide
InformaticaWOStudiejaar 4,5

In deze les zitten 24 slides, met interactieve quizzen en tekstslides.

time-iconLesduur is: 45 min

Onderdelen in deze les

Slide 1 - Tekstslide

Deze slide heeft geen instructies

Fundament

D. Programmeren met PHP
Hoofdstuk 3.5 tmt 4.4
https://fundament-online.nl/leeromgeving/content.php?paragraaf_id=115061

Slide 2 - Tekstslide

Deze slide heeft geen instructies

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

Slide 3 - Tekstslide

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.
Switch (case) 1/4
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 4 - Tekstslide

Deze slide heeft geen instructies

Switch (case) 2/4
Met switch geef je een lijst van exacte mogelijkheden, gevolgd door een default (standaardwaarde)...
let op, de standaardwaarde staat altijd onderaan!
Elke mogelijkheid begint met case en dan de waarde waarmee de variabele wordt vergeleken, dan volgt een : en dan de opdrachten als de case waar is, scheidt deze met een ; en eindig met break;

Slide 5 - Tekstslide

Deze slide heeft geen instructies

Switch (case) 3/4
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 6 - Tekstslide

Deze slide heeft geen instructies

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

Slide 7 - Tekstslide

Deze slide heeft geen instructies

Opdracht switch
  1. Maak .\htdocs\04.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 teruggeven echo: "100%"
  • als 200 wordt ingevoegd wordt teruggegeven "200%" 
  • alle andere waarden geeft terug: "jammer joh!"
timer
5:00

Slide 8 - Tekstslide

Deze slide heeft geen instructies

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 in een oneindige loop terecht te komen, waarop moet je dus letten bij een while loop? 

Slide 9 - Tekstslide

Deze slide heeft geen instructies

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 in een oneindige loop terecht te komen, waarop moet je dus letten bij een while loop? 
dat (een variabele in) de voorwaarde wordt aangepast binnen de loop! 

Slide 10 - Tekstslide

Deze slide heeft geen instructies

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 11 - Tekstslide

Deze slide heeft geen instructies

While-loop 3/3

Slide 12 - Tekstslide

Deze slide heeft geen instructies

For-loop 1/2
Een for-loop geldt een vastgesteld aantal keer, dus het gevaar op een oneindige loop is niet heel groot

De syntax van de for-loop lijkt erg op die van JS:
for ( start; voorwaarde; wijziging per stap ) {
  # code hier
}

Slide 13 - Tekstslide

Deze slide heeft geen instructies

For-loop 2/2





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

Slide 14 - Tekstslide

Deze slide heeft geen instructies

Maak een while loop met
$teller die start bij 0, en
stopt bij 10 iteraties
timer
3:00

Slide 15 - Open vraag

$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, stopt bij 10 iteraties,
met stappen van 2
timer
3:00

Slide 16 - Open vraag

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

let op: 
$ voor variabele
; tussen elk onderdeel in de () 
+= 2
; na de regel in het blok
Foreach-loop 1/3
Een foreach-loop in PHP is hetzelfde als een for/in-loop van Python en hetzelfde als de .forEach() methode van JS

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 17 - Tekstslide

Deze slide heeft geen instructies

Foreach-loop 2/3



De syntax van de loop is dat we beginnen met foreach en dan tussen haakjes eerst de array en dan de variabele waar we elk element langs zien komen... en die kunnen we dan tellen of bewerken of zoiets 

Slide 18 - Tekstslide

Deze slide heeft geen instructies

Foreach-loop 3/3
We gebruiken een foreach-loop dus feitelijk alleen in combinatie met een array... maar het is zo handig dat we bijvoorbeeld ook een string omzetten naar een array om dan foreach te gebruiken, bijvoorbeeld om de klinkers te tellen in een woord
Dan gebruiken we bijvoorbeeld de PHP functies str_split() of
explode()

Slide 19 - Tekstslide

Deze slide heeft geen instructies

Opdracht foreach
  1. .\htdocs\04.php
  2. Neem de code
    rechts over
  3. Vul de code van de foreach loop toe, zodat de 5 klinkers worden geteld (de echo voor teruggeven is er al)
  4. Voeg code toe die het woord met explode() naar een array omzet en doe daar ook een foreach loop voor
timer
10:00

Slide 20 - Tekstslide

Deze slide heeft geen instructies

Opdracht # ? PHP filter
Idee:
maak in PHP een pagina die van alle niet PHP bestanden in dezelfde folder een downloadlink in een ongeordende lijst maakt, en maak daarboven een edit link die deze lijst kan "filteren", zodat de gebruiker een bepaald bestand kan zoeken
timer
5:00

Slide 21 - Tekstslide

Deze slide heeft geen instructies

Opdracht # ? SSL
Idee:
voeg een SSL certificaat toe
volg deze leidraad (nog testen!): https://gist.github.com/nguyenanhtu/33aa7ffb6c36fdc110ea8624eeb51e69
of
https://robsnotebook.com/xampp-ssl-encrypt-passwords/
timer
5:00

Slide 22 - Tekstslide

Deze slide heeft geen instructies

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

Slide 23 - Tekstslide

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 24 - Tekstslide

Deze slide heeft geen instructies