Det Følsomme Sted ved return i PHP
Efter at return-instruktionen er udført
- afslutter funktionen sin arbejde. Det vil sige:
efter udførelsen af return vil ingen yderligere
kode blive udført.
Se eksemplet:
<?php
function func($num) {
return $num * $num;
echo '!'; // denne kode vil aldrig blive udført
}
$res = func(3);
?>
Det betyder ikke, at en funktion kun må have
én return. Men kun én af dem vil blive udført.
I det følgende eksempel vil enten den første eller den anden
return blive udført afhængigt af værdien af
parameteren:
<?php
function func($num) {
if ($num >= 0) {
return '+';
} else {
return '-';
}
}
echo func( 3); // vil udskrive '+'
echo func(-3); // vil udskrive '-'
?>
Hvad vil blive vist på skærmen som et resultat af udførelsen af følgende kode:
<?php
function func($num) {
return $num;
$res = $num * $num;
return $res;
}
echo func(3);
?>
Forklar hvorfor.
Hvad vil hver af echo udskrive som et resultat
af udførelsen af følgende kode:
<?php
function func($num) {
if ($num <= 0) {
return abs($num);
} else {
return $num * $num;
}
}
echo func(10);
echo func(-5);
?>
Forklar hvorfor.
Hvad vil hver af echo udskrive som et resultat
af udførelsen af følgende kode:
<?php
function func($num) {
if ($num <= 0) {
return abs($num);
}
return $num * $num;
}
echo func(10);
echo func(-5);
?>
Forklar hvorfor.