PHP 5 - arrays, (standaard)functies, number_format, argument-parameter, user-defined functies

1 / 31
suivant
Slide 1: Diapositive
InformaticaWOStudiejaar 4,5

Cette leçon contient 31 diapositives, avec quiz interactifs et diapositives de texte.

time-iconLa durée de la leçon est: 45 min

Éléments de cette leçon

Slide 1 - Diapositive

Cet élément n'a pas d'instructions

Fundament

D. Programmeren met PHP
Hoofdstuk 5
https://fundament-online.nl/leeromgeving/content.php?id=49124

Slide 2 - Diapositive

Cet élément n'a pas d'instructions

Leerdoelen
Na deze les kun je (voor PHP):
  • 3 verschillende soorten arrays benoemen
  • op twee manieren een array() definiëren in PHP
  • verschillende standaardfuncties benoemen
  • een user-defined functie in PHP schrijven
  • het verschil uitleggen tussen een argument en een
     parameter

Slide 3 - Diapositive

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)
Voorbeeld van website-foutcodes:

Slide 4 - Diapositive

Cet élément n'a pas d'instructions

Foreach-loop



Foreach begint met het woord foreach en dan tussen haakjes eerst de $array en daarna de $variabele die als een soort parameter bij elke iteratie de waarde krijgt van een element

Slide 5 - Diapositive

Cet élément n'a pas d'instructions

Array 1/3
Een array in PHP is een manier om meerdere waarden in één variabele op te slaan, net zoals een list dat is in Python
In PHP kun je een array op meerdere manieren maken, zoals:

Slide 6 - Diapositive

Cet élément n'a pas d'instructions

Array 2/3
Er zijn verschillende soorten arrays:
  • numerieke arrays
    > deze array heeft een automatische index, begint met 0
  • associatieve arrays
    > een array met namen en waarden
  • multidimensionale array
    > een array met een of meer arrays als element
  • en meer...

Slide 7 - Diapositive

Cet élément n'a pas d'instructions

Array 3/3
PHP kent heel veel manieren om met arrays te werken, maar belangrijk zijn bijvoorbeeld deze:
  • array_push()
  • array_merge()
  • array_delete()
  • array_slice()
  • count()

Slide 8 - Diapositive

Cet élément n'a pas d'instructions

Numerieke Array
Net als een list in Python heeft een array in PHP een enumeratie/indexering/identifier die begint bij 0



Let op! In PHP kunnen negatieve getallen niet worden gebruikt in een array (je krijgt dan Undefined array key)


Slide 9 - Diapositive

Cet élément n'a pas d'instructions

Associatieve Array
Zo ziet een associatieve array eruit:



(die kwam eerder al voorbij als voorbeeld)
Deze array heeft dus een sleutel en een waarde

Slide 10 - Diapositive

Cet élément n'a pas d'instructions

Multi dimensionale Array
Geneste (multi-dimensionele) arrays
Het is ook mogelijk om een array in een array te gebruiken. Op deze manier is het mogelijk om een diepgaande datastructuur op te zetten.


Slide 11 - Diapositive

Cet élément n'a pas d'instructions

Uitlezen array

Slide 12 - Diapositive

Cet élément n'a pas d'instructions

Functies
PHP heeft (net als Python en JavaScript) functies

Deze vallen uiteen in twee soorten:
  1. standaardfuncties
  2. user-defined functies

Slide 13 - Diapositive

Cet élément n'a pas d'instructions

Standaardfuncties
Standaardfuncties zitten standaard in PHP
Een aantal standaardfuncties zagen we al eerder:
  • trim()
  • fgets()
  • bindParam()
  • htmlspecialchars()
(echo is strikt genomen geen functie, maar een constructie)

Slide 14 - Diapositive

Cet élément n'a pas d'instructions

number_format()
Een handige standaardfunctie is number_format()
Volgorde params is: ($var,decimals,decimalpoint,separator)
Hiermee geef je een nummer een formattering, zoals:

$getal = 1999.8;
echo "resultaat: " number_format($getal, 2, ',', '.');
# resultaat: 1.999,80

Slide 15 - Diapositive

Cet élément n'a pas d'instructions

str_replace()
Met str_replace() kun je 1 of meer tekens in een string vervangen door andere tekens

$tekst = "Oog voor de wereld!";
echo str_replace($tekst, '!', ', oog voor talent!');
# Oog voor de wereld, oog voor talent!

Slide 16 - Diapositive

Cet élément n'a pas d'instructions

strlen() en count()
Met strlen() bepaal je de lengte van een string
Met count() bepaal je de lengte van een array
$tekst = "Oog voor de wereld!";
echo strlen($tekst); # 19

$array = array("appel", "banaan", "kers");
echo count($array)# 3

Slide 17 - Diapositive

Cet élément n'a pas d'instructions

User-defined functions 1/3
De syntax van het declareren (lees: maken) van functies in PHP gaat iets anders dan Python en JavaScript:

function naamFunctie($evtParameters): uitvoersoort {
  # code komt hier;
}

Slide 18 - Diapositive

Cet élément n'a pas d'instructions

User-defined functions 2/3
function naamFunctie($evtParameters): uitvoersoort {
  # code komt hier;
}
": uitvoersoort" is optioneel (mag, hoeft niet)
Deze "return type" geeft aan wat de uitvoer is van de functie, zoals:
int, float, string, void, array, object, bool

Slide 19 - Diapositive

Cet élément n'a pas d'instructions

User-defined functions 3/3
Let op: in PHP kun je een formulier niet direct naar een functie sturen, omdat een functie geen zelfstandig onderdeel is dat je via een URL kunt aanroepen. Formulieren verzenden hun gegevens naar een PHP-bestand (zoals action="bestandsnaam.php") of naar dezelfde pagina (action=""), en binnen dat bestand kun je de verzonden gegevens verwerken door een functie aan te roepen

Slide 20 - Diapositive

Cet élément n'a pas d'instructions

Argument en parameter
Als een functie wordt aangeroepen, dan kunnen daarbij argumenten worden gegeven

De functie accepteert die argumenten dan als parameters

Slide 21 - Diapositive

Cet élément n'a pas d'instructions


Welke van deze PHP
functies is geen standaardfunctie?
A
echo()
B
strlen()
C
str_replace()
D
fgets()

Slide 22 - Quiz

Cet élément n'a pas d'instructions


Welke van deze PHP
functies is geen standaardfunctie?
A
print()
B
bindParam()
C
str_len()
D
htmlSpecialChars()

Slide 23 - Quiz

Cet élément n'a pas d'instructions


Welke van de volgende manieren is correct voor het definiëren van een functie in PHP?
A
function testFun($param) { echo $param; }
B
define testFun($param) { echo $param; }
C
createFun testFunction($param) { echo $param; }
D
declare testFun($param) { echo $param; }

Slide 24 - Quiz

Cet élément n'a pas d'instructions

Wat retourneert de
volgende functie
als deze wordt
aangeroepen met myFunction(3, 5);
A
8
B
15
C
35
D
0

Slide 25 - Quiz

Cet élément n'a pas d'instructions


Welke van de volgende regels in PHP geeft een foutmelding als je een user-defined functie maakt?
A
function myF($var1, $var2) { return $var1 + $var2; }
B
function myF($var1, var2) { return $var1 + $var2; }
C
function myF() { echo "Hello, world!"; }
D
function myF($var1) { return; }

Slide 26 - Quiz

B, want geen $ voor parameter var2
Opdracht User defined array
  1. maak ./htdocs/50.php
  2. zet daar een php blok in
    met de code rechts
  3. pas deze aan zodat: a) de argumenten cijfers zijn en worden opgeteld, b) het resultaat wordt opgeslagen in $resultaat, en c) $resultaat dikgedrukt op het scherm laat verschijnen
timer
5:00

Slide 27 - Diapositive

<?php
function test($param1, $param2) {
  return $param1 + $param2;
}

$resultaat = test(1,4);
echo $resultaat;
?>
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 28 - Diapositive

Cet élément n'a pas d'instructions

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 29 - Diapositive

Cet élément n'a pas d'instructions

Leerdoelen
Nu kun je:
  • 3 verschillende soorten arrays benoemen
  • op twee manieren een array() definiëren in PHP
  • verschillende standaardfuncties benoemen
  • een user-defined functie in PHP schrijven
  • het verschil uitleggen tussen een argument en een
     parameter

Slide 30 - Diapositive

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 31 - Diapositive

Cet élément n'a pas d'instructions