Delikatne miejsce return w PHP
Po wykonaniu instrukcji return
- funkcja zakończy swoje działanie. To znaczy:
po wykonaniu return żaden dodatkowy
kod nie zostanie wykonany.
Spójrz na przykład:
<?php
function func($num) {
return $num * $num;
echo '!'; // ten kod nigdy się nie wykona
}
$res = func(3);
?>
To nie znaczy, że funkcja musi mieć
jeden return. Ale wykona się tylko
jeden z nich.
W następnym przykładzie, w zależności od wartości
parametru, wykona się albo pierwszy, albo drugi
return:
<?php
function func($num) {
if ($num >= 0) {
return '+';
} else {
return '-';
}
}
echo func( 3); // wypisze '+'
echo func(-3); // wypisze '-'
?>
Co zostanie wypisane na ekran w wyniku wykonania następującego kodu:
<?php
function func($num) {
return $num;
$res = $num * $num;
return $res;
}
echo func(3);
?>
Wyjaśnij dlaczego.
Co wypisze każdy z echo w wyniku
wykonania następującego kodu:
<?php
function func($num) {
if ($num <= 0) {
return abs($num);
} else {
return $num * $num;
}
}
echo func(10);
echo func(-5);
?>
Wyjaśnij dlaczego.
Co wypisze każdy z echo w wyniku
wykonania następującego kodu:
<?php
function func($num) {
if ($num <= 0) {
return abs($num);
}
return $num * $num;
}
echo func(10);
echo func(-5);
?>
Wyjaśnij dlaczego.