6 Nog meer functions
Nog een voorbeeld van een function
In deze les wordt een iets complexere functie gemaakt. In deze functie worden de even getallen uit een array gefilterd.
Parameters
Dat wat je meegeeft aan een function heten parameters. In de vorige voorbeelden (filmpjes) zagen we dat we telkens precies één parameter meegaven. In het eerste voorbeeld was dat een getal en in het tweede voorbeeld was dat een array.
Je kunt ook minder of meer parameter meegeven, bijvoorbeeld nul:
function welkom() {
$tekst = 'Welkom op mijn website';
return $tekst;
}
En je kunt ook meer parameters meegeven, bijvoorbeeld drie:
function welkom2($tekst, $naam, $hoofdletters = FALSE ) {
//bepaal tekst
if ($tekst == 1) {
$uitvoer = 'Welkom '. $naam;
}
elseif ($tekst == 2) {
$uitvoer = 'Tot ziens, ',$naam;
}
//bepaal hoofdletters
if ($hoofdletters == TRUE) {
$uitvoer = strtoupper($uitvoer);
}
//geef resultaat
return $uitvoer;
}
De derde parameter is wat vreemd want de waarde wordt al bepaald in de functie, althans zo lijkt het. Dit is een zogenaamde optionele parameter. Je hoeft hem niet mee te geven en als je hem niet meegeeft dan is die 'by default' false.
Dus
welkom2(2, 'Mark', False )
is hetzelfde als
welkom2(2, 'Mark')
Apart bestand
Als je veel functies hebt dan kun je die in een apart bestand zetten dat houd de boel overzichtelijk en maakt samenwerking ook makkelijker, omdat iedereen aan zijn eigen set functions kan werken.
Stel je zet de functie uit het laatste voorbeeld in een apart bestand met de naam functie.php, dan zou de volgende code gewoon werken.
<?php
include_once('functie.php');
echo welkom2(1,'Ayoub',true);
?>
Opdracht 1
Maak een php file, functions.php met de functie welkom2 uit één van de voorbeelden van hierboven. Maak een file opdracht1.php en include de functions.php file.
$myArray=[''Nouaman','Aart','Samil','Rainee','Diego','Omer','Wessel','Jari','Max','Brian','Kikiya'];
Gebruik het bovenstaande array en roep voor elk van de namen de welkom2 functie twee maal aan, één keer om de welkom-boodschap af te drukken en één keer om de Tot-ziens-boodschap af te drukken.
Gebruik een loop en roep vanuit de loop de functie op de juiste manier aan.
Dus de output ziet er zo uit:
Welkom Nouaman
Tot ziens Nouaman
Welkom Aart
Tot ziens Aart
Welkom Samil
Tot ziens Samil
....
Welkom Kikiya
Tot ziens Kikiya
Opdracht 2a
Maak een functie die iedereen met een onvoldoende uitprint. Geef het assiociative array mee als parameter van de functie. Noem de functie resultaten()
$cijferPHP=['Ayoub' => 6, 'Roberto' => 7, 'Seman' => 4, 'Osmani' => 2,
'Klaas' => 3, 'Sid' => 8, 'Kendal' => 3, 'Ayas' => 9,
'Kianne' => 8, 'Droppie' => 7, 'Ken' => 6];
Opdracht 2b
Pas de functie uit opdracht 2a aan, zodat deze een assiociative array als parameter krijgt en ook een assiociative array terug geeft waarin alle studenten met een voldoende staan. Het resultaat is dus het volgende array:
$cijferPHP=['Ayoub' => 6,'Roberto' => 7, 'Sid' => 8, ,
'Ayas' => 9, 'Kianne' => 8, 'Droppie' => 7, 'Ken' => 6];
Opdracht 2c
Pas de functie uit opdracht 2b aan, zodat deze een assiociative array terug geeft waarin alle studenten met een voldoende of met een onvoldoende staan. Doe dat op de volgende manier:
resultaten($cijferPHP, true); // geef assiociative array met voldoende terug (zoals bij 2a)
resultaten($cijferPHP, false); // geef assiociative array met onvoldoendes terug
--