Løkke og return i PHP
La oss si at vi har en funksjon som returnerer summen
av tallene fra 1 til 5:
<?php
function func() {
$sum = 0;
for ($i = 1; $i <= 5; $i++) {
$sum += $i;
}
return $sum;
}
$res = func();
echo $res; // vil skrive ut 15
?>
La oss nå plassere return
inni løkken, slik:
<?php
function func() {
$sum = 0;
for ($i = 1; $i <= 5; $i++) {
$sum += $i;
return $sum;
}
}
$res = func();
echo $res;
?>
I dette tilfellet vil løkken kun kjøre én
iterasjon og det vil skje en automatisk avslutning
av funksjonen (og dermed også av løkken). Og etter én
iterasjon av løkken vil variabelen $sum inneholde
kun tallet 1, og ikke hele den ønskede summen.
Hva vil bli skrevet ut på skjermen som resultat av å kjøre følgende kode:
<?php
function func($num) {
$sum = 0;
for ($i = 1; $i <= $num; $i++) {
$sum += $i;
return $sum;
}
}
echo func(5);
?>
Forkar hvorfor.
Hva var hensikten med denne koden? Korriger forfatterens feil.