Ciklus és return a PHP-ben
Tegyük fel, hogy van egy függvényünk, amely visszaadja a számok összegét
1-től 5-ig:
<?php
function func() {
$sum = 0;
for ($i = 1; $i <= 5; $i++) {
$sum += $i;
}
return $sum;
}
$res = func();
echo $res; // kiírja 15-öt
?>
Most tegyük a return-ot
a cikluson belülre, így:
<?php
function func() {
$sum = 0;
for ($i = 1; $i <= 5; $i++) {
$sum += $i;
return $sum;
}
}
$res = func();
echo $res;
?>
Ebben az esetben a ciklus csak egy iterációt fog végrehajtani,
és automatikusan kilép a függvényből (és egyúttal a ciklusból is).
Egyetlen ciklusiteráció alatt a $sum változóban
csak az 1 szám lesz, nem a teljes szükséges összeg.
Mi jelenik meg a képernyőn a következő kód végrehajtása eredményeképpen:
<?php
function func($num) {
$sum = 0;
for ($i = 1; $i <= $num; $i++) {
$sum += $i;
return $sum;
}
}
echo func(5);
?>
Magyarázd meg, miért.
Mit akart eredetileg csinálni a kód szerzője? Javítsd ki a szerző hibáját.