Skip to main content

6.3 functies oefeningen

Opgave 1

Kijk naar het filmpje: https://www.youtube.com/watch?v=INHM0S_8GHA

En maak daarna een functie onvoldoendes($PHPCijfers); die alle onvoldoendes afdrukt uit het onderstaande array.

$PHPCijfers=[4,5,4,5,6,6,5,8,7,6,4,8];

Dus de output van de functie wordt:

4,5,4,5,5,4

Schrijf de functie op je antwoordenblad (.php file).

Opgave 2

Maak nu een functie die de onvoldoendes niet afdrukt maar terug geeft als een array.

Dus de functie $resulstaat=onvoldoendes($PHPCijfers); geeft een array $resultaat terug.

Gebruik de volgende code om je $resultaat array af te drukken:

echo "<pre>";
print_r($resultaat);

Schrijf de functie op je antwoordenblad (.php file).

Opgave 3

Het is belangrijk om goed te begrijpen wat lokale scoping van variabele is. Dit werk in alle computertalen (min of meer) hetzelfde.

In dit filmpje (Engels) wordt uitgelegd wat lokale scoping is: https://www.youtube.com/watch?v=5vJwM-_YHfk

 

In dit filmpje wordt het door mij in het Nederlands uitgelegd: https://youtu.be/hp8-MrfuwoI

De volgende vraag gaat over lokale scoping. De functie berekent de omtrek van de cirkel als de straal wordt gegeven. De straal is zeg maar de lengte van je spaak van je fiets en de omtrek is de afstand die je aflegt als je wiel precies één keer ronddraait.

Voer de onderstaande code uit.

<?php
function omtrek($straal) {
  $omtrek=$straal*2*pi();
  return($omtrek);
}

$straal=10;
$omtrek($straal);
echo $omtrek;
?>

a) waarom krijg je een foutmelding op regel 9?

b) pas de code aan, zodat deze werkt. Voeg geen regels toe, pas alleen de bestaande regel(s) aan. Zet de werkende code op je (.php) anwoordenblad.

Opgave 4

Schrijf alle variabele met een lokale scope van onderstaande code op je antwoordenblad. In de video's die bij opgave 3 (hierboven) genoemd worden, wordt dit uitgelegd.

Dus welke variabelen uit de onderstaande code hebben een lokale scope?

<?php
function bedragmetWinst($bedrag) {
  return($bedrag * 1.5);
}

$prijs=12;
$verkoopPrijs=bedragmetWinst($prijs);

echo $verkoopPrijs;

?>

Opgave 5

Stel je hebt twee functie functieA() en functieB(). In functieA() heb je een variabele $btw en $bedrag en je wilt deze variabele gebruiken in functieB(). Hoe kun je dit doen?

Om je een beetje op weg te helpen, probeer antwoord te geven op de volgende vragen:

(tip 1) Op welke manier kun je informatie (variabelen) in en uit een functie krijgen? Dit wordt beschreven in https://youtu.be/XfnH3AEF5Z8 deze video staat aan het begin van les 6.4

(tip 2) Nu weet je hoe je met één variabele informatie van functionA naar functionB kan krijgen. Blijven er twee vragen over:

(tip 3) Hoe geef je twee of meer variabelen mee als je ene functie aanroept. Dit is vrij eenvoudig; zoek dit op.

(tip 4) Je kunt met een return() maar één variabele terug geven. Maar een array is ook één variabele. En in een array zitten doorgaans meerdere waarden. 

Als je er echt niet uit komt beantwoord dan de vraag met één variabele. Dus in plaats van $btw en $bedrag heb je nu maar één variabele $btw die je in functionA hebt en die je in functionB wilt gebruiken.

Geef een code voorbeeld door onderstaande code uit te breiden waarbij je de variabele $btw (en het liefst ok $bedrag) kunt gebruiken in functionB.

<?php

function functionA(...) {
    $btw=21;
    $bedrag=119;
    return(...);
 }
 
 function functionB(...) {
	echo "De btw is $btw en het bedrag is $bedrag";
 }

...
...
functionB(...); // er wordt afgedrukt
                // De btw is 21 en het bedrag is 119


?>

--