Úskalí return v PHP
Poté, co se provede instrukce return
- funkce ukončí svůj běh. To znamená:
po provedení return se již žádný další
kód neprovede.
Podívejte se na příklad:
<?php
function func($num) {
return $num * $num;
echo '!'; // tento kód se nikdy neprovede
}
$res = func(3);
?>
To neznamená, že funkce musí mít
jeden return. Ale provede se pouze
jeden z nich.
V dalším příkladu v závislosti na hodnotě
parametru se provede buď první, nebo druhý
return:
<?php
function func($num) {
if ($num >= 0) {
return '+';
} else {
return '-';
}
}
echo func( 3); // vypíše '+'
echo func(-3); // vypíše '-'
?>
Co se vypíše na obrazovku v důsledku provedení následujícího kódu:
<?php
function func($num) {
return $num;
$res = $num * $num;
return $res;
}
echo func(3);
?>
Vysvětlete proč.
Co vypíše každý z echo v důsledku
provedení následujícího kódu:
<?php
function func($num) {
if ($num <= 0) {
return abs($num);
} else {
return $num * $num;
}
}
echo func(10);
echo func(-5);
?>
Vysvětlete proč.
Co vypíše každý z echo v důsledku
provedení následujícího kódu:
<?php
function func($num) {
if ($num <= 0) {
return abs($num);
}
return $num * $num;
}
echo func(10);
echo func(-5);
?>
Vysvětlete proč.