Skip to main content

3 Functions

In deze les leren we wat functions zijn waarom je ze gebruikt en hoe je ze maakt. In deze lessen zullen ook onderdelen van de vorige lessen weer terugkomen.

In de volgende twee lessen wordt uitgelegd wat functions en hoe je ze kan gebruiken.

Wat is een function?

Wat is een functie en hoe maak je een functie? Waarom zou je een functie willen gebruiken? De antwoorden op deze vragen worden in deze film gegeven.

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

--