Ciklas ir return PHP
Tarkime, turime funkciją, kuri grąžina skaičių sumą
nuo 1 iki 5:
<?php
function func() {
$sum = 0;
for ($i = 1; $i <= 5; $i++) {
$sum += $i;
}
return $sum;
}
$res = func();
echo $res; // išvestų 15
?>
Tarkime, dabar mes return
įdėsime į ciklą, štai taip:
<?php
function func() {
$sum = 0;
for ($i = 1; $i <= 5; $i++) {
$sum += $i;
return $sum;
}
}
$res = func();
echo $res;
?>
Šiuo atveju ciklas suksis tik vieną
kartą ir automatiškai bus išeita iš
funkcijos (o kartu ir iš ciklo). O per vieną
ciklo iteraciją kintamajame $sum atsidurs
tik skaičius 1, o ne visa reikalinga suma.
Kas bus išvesta į ekraną vykdant šį kodą:
<?php
function func($num) {
$sum = 0;
for ($i = 1; $i <= $num; $i++) {
$sum += $i;
return $sum;
}
}
echo func(5);
?>
Paaiškinkite kodėl.
Ką norėjo padaryti šio kodo autorius? Ištaisykite autoriaus klaidą.