Cyklus a return v PHP
Nech máme funkciu, ktorá vráti súčet
čísel od 1 do 5:
<?php
function func() {
$sum = 0;
for ($i = 1; $i <= 5; $i++) {
$sum += $i;
}
return $sum;
}
$res = func();
echo $res; // vypíše 15
?>
Nech teraz umiestnime return
vnútri cyklu, takto:
<?php
function func() {
$sum = 0;
for ($i = 1; $i <= 5; $i++) {
$sum += $i;
return $sum;
}
}
$res = func();
echo $res;
?>
V tomto prípade sa cyklus prejde iba raz
a dôjde k automatickému ukončeniu funkcie
(a zároveň aj cyklu). A za jednu iteráciu
cyklu bude v premennej $sum iba
číslo 1, a nie celý požadovaný súčet.
Čo sa vypíše na obrazovku ako výsledok vykonania nasledujúceho kódu:
<?php
function func($num) {
$sum = 0;
for ($i = 1; $i <= $num; $i++) {
$sum += $i;
return $sum;
}
}
echo func(5);
?>
Vysvetlite prečo.
Čo chcel autor tohto kódu urobiť? Opravte chybu autora.