Тънко място на return в PHP
След като се изпълни инструкцията return
- функцията ще прекрати работата си. Това означава:
след изпълнение на return вече няма да се изпълни
никакъв код.
Вижте пример:
<?php
function func($num) {
return $num * $num;
echo '!'; // този код никога няма да се изпълни
}
$res = func(3);
?>
Това не означава, че във функцията трябва да има
само един return. Но ще се изпълни само
един от тях.
В следващия пример в зависимост от стойността
на параметъра ще се изпълни или първият, или вторият
return:
<?php
function func($num) {
if ($num >= 0) {
return '+';
} else {
return '-';
}
}
echo func( 3); // ще изведе '+'
echo func(-3); // ще изведе '-'
?>
Какво ще се изведе на екрана в резултат на изпълнението на следния код:
<?php
function func($num) {
return $num;
$res = $num * $num;
return $res;
}
echo func(3);
?>
Обяснете защо.
Какво ще изведе всеки от echo в резултат
на изпълнението на следния код:
<?php
function func($num) {
if ($num <= 0) {
return abs($num);
} else {
return $num * $num;
}
}
echo func(10);
echo func(-5);
?>
Обяснете защо.
Какво ще изведе всеки от echo в резултат
на изпълнението на следния код:
<?php
function func($num) {
if ($num <= 0) {
return abs($num);
}
return $num * $num;
}
echo func(10);
echo func(-5);
?>
Обяснете защо.