Punto sottile di return in PHP
Dopo che l'istruzione return viene eseguita
- la funzione termina la sua esecuzione. Ciò significa che:
dopo l'esecuzione di return, nessun altro
codice verrà eseguito.
Guarda l'esempio:
<?php
function func($num) {
return $num * $num;
echo '!'; // questo codice non verrà mai eseguito
}
$res = func(3);
?>
Questo non significa che una funzione debba avere
un solo return. Ma ne verrà eseguito solo
uno di essi.
Nell'esempio seguente, a seconda del valore
del parametro, verrà eseguito o il primo o il secondo
return:
<?php
function func($num) {
if ($num >= 0) {
return '+';
} else {
return '-';
}
}
echo func( 3); // visualizzerà '+'
echo func(-3); // visualizzerà '-'
?>
Cosa verrà visualizzato sullo schermo come risultato dell'esecuzione del seguente codice:
<?php
function func($num) {
return $num;
$res = $num * $num;
return $res;
}
echo func(3);
?>
Spiega il perché.
Cosa visualizzerà ogni echo come risultato
dell'esecuzione del seguente codice:
<?php
function func($num) {
if ($num <= 0) {
return abs($num);
} else {
return $num * $num;
}
}
echo func(10);
echo func(-5);
?>
Spiega il perché.
Cosa visualizzerà ogni echo come risultato
dell'esecuzione del seguente codice:
<?php
function func($num) {
if ($num <= 0) {
return abs($num);
}
return $num * $num;
}
echo func(10);
echo func(-5);
?>
Spiega il perché.