Тонкое место 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);
?>
Объясните почему.