return-komennon hienovarainen käyttö PHP:ssä
Sen jälkeen, kun return-komento suoritetaan
- funktio päättää toimintansa. Toisin sanoen:
return-komennon suorittamisen jälkeen mitään
koodia ei enää suoriteta.
Katso esimerkki:
<?php
function func($num) {
return $num * $num;
echo '!'; // tätä koodia ei koskaan suoriteta
}
$res = func(3);
?>
Tämä ei tarkoita, että funktiossa täytyy olla
vain yksi return. Mutta vain yksi niistä
suoritetaan.
Seuraavassa esimerkissä parametrin arvosta riippuen
suoritetaan joko ensimmäinen tai toinen
return:
<?php
function func($num) {
if ($num >= 0) {
return '+';
} else {
return '-';
}
}
echo func( 3); // tulostaa '+'
echo func(-3); // tulostaa '-'
?>
Mitä seuraava koodi tulostaa näytölle suorituksen jälkeen:
<?php
function func($num) {
return $num;
$res = $num * $num;
return $res;
}
echo func(3);
?>
Selitä miksi.
Mitä kukin echo tulostaa seuraavan
koodin suorituksen jälkeen:
<?php
function func($num) {
if ($num <= 0) {
return abs($num);
} else {
return $num * $num;
}
}
echo func(10);
echo func(-5);
?>
Selitä miksi.
Mitä kukin echo tulostaa seuraavan
koodin suorituksen jälkeen:
<?php
function func($num) {
if ($num <= 0) {
return abs($num);
}
return $num * $num;
}
echo func(10);
echo func(-5);
?>
Selitä miksi.