Zanka in return v PHP
Recimo, da imamo funkcijo, ki vrne vsoto
števil od 1 do 5:
<?php
function func() {
$sum = 0;
for ($i = 1; $i <= 5; $i++) {
$sum += $i;
}
return $sum;
}
$res = func();
echo $res; // izpiše 15
?>
Recimo, da zdaj postavimo return
znotraj zanke, takole:
<?php
function func() {
$sum = 0;
for ($i = 1; $i <= 5; $i++) {
$sum += $i;
return $sum;
}
}
$res = func();
echo $res;
?>
V tem primeru se bo zanka zavrtela le eno
ponovitev in prišlo bo do samodejnega izhoda
iz funkcije (in obenem iz zanke). In v eni
ponovitvi zanke bo v spremenljivki $sum
le številka 1, ne pa celotne zahtevane vsote.
Kaj se bo izpisalo na zaslon kot rezultat izvajanja naslednje kode:
<?php
function func($num) {
$sum = 0;
for ($i = 1; $i <= $num; $i++) {
$sum += $i;
return $sum;
}
}
echo func(5);
?>
Razložite zakaj.
Kaj je želel narediti avtor te kode? Popravite napako avtorja.