Het delicate aspect van return in PHP
Nadat de instructie return
is uitgevoerd - beëindigt de functie haar werking. Dat betekent:
na het uitvoeren van return zal er geen
code meer uitgevoerd worden.
Zie het voorbeeld:
<?php
function func($num) {
return $num * $num;
echo '!'; // deze code wordt nooit uitgevoerd
}
$res = func(3);
?>
Dit betekent niet dat een functie
slechts één return moet hebben.
Maar er zal slechts één van worden uitgevoerd.
In het volgende voorbeeld wordt, afhankelijk van de waarde
van de parameter, ofwel de eerste, ofwel de tweede
return uitgevoerd:
<?php
function func($num) {
if ($num >= 0) {
return '+';
} else {
return '-';
}
}
echo func( 3); // toont '+'
echo func(-3); // toont '-'
?>
Wat wordt er op het scherm weergegeven als resultaat van de uitvoering van de volgende code:
<?php
function func($num) {
return $num;
$res = $num * $num;
return $res;
}
echo func(3);
?>
Leg uit waarom.
Wat zal elk van de echo statements weergeven als resultaat
van de uitvoering van de volgende code:
<?php
function func($num) {
if ($num <= 0) {
return abs($num);
} else {
return $num * $num;
}
}
echo func(10);
echo func(-5);
?>
Leg uit waarom.
Wat zal elk van de echo statements weergeven als resultaat
van de uitvoering van de volgende code:
<?php
function func($num) {
if ($num <= 0) {
return abs($num);
}
return $num * $num;
}
echo func(10);
echo func(-5);
?>
Leg uit waarom.