Слабо место кај 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);
?>
Објаснете зошто.