Returni kasutamine tsüklis PHP-s
See, et return asub tsükli sees,
ei pruugi alati olla viga.
Järgmises näites on loodud funktsioon, mis
määrab, mitu esimest massiivi elementi
on vaja liita, et summa muutuks suuremaks või
võrdseks kui 10:
<?php
function func($arr) {
$length = count($arr);
$sum = 0;
for ($i = 0; $i < $length; $i++) {
$sum += $arr[$i];
// Kui summa on suurem või võrdne 10-ga:
if ($sum >= 10) {
return $i + 1; // väljume tsüklist ja funktsioonist
}
}
}
$res = func([1, 2, 3, 4, 5]);
echo $res;
?>
Järgmises näites on loodud funktsioon, mis
arvutab, mitu täisarvu, alates
1, on vaja liita, et tulemus
oleks suurem kui 100:
<?php
function func() {
$sum = 0;
$i = 1;
while (true) { // lõputu tsükkel
$sum += $i;
if ($sum >= 100) {
return $i; // tsükkel keerleb kuni sealt väljutakse
}
$i++;
}
}
echo func();
?>
Kirjutage funktsioon, mis võtab parameetrina
arvu ja jagab seda 2-ga
nii kaua, kuni tulemus on väiksem kui
10. Olgu funktsioon tagastab
iteratsioonide arvu, mis oli vajalik tulemuse
saavutamiseks.