A return használata ciklusban PHP-ben
Az, hogy a return egy cikluson belül található,
nem mindig jelent hibát.
A következő példában egy olyan függvény készült, amely
meghatározza, hogy egy tömb első hány elemét kell
összeadni, hogy az összeg nagyobb vagy egyenlő legyen
mint 10:
<?php
function func($arr) {
$length = count($arr);
$sum = 0;
for ($i = 0; $i < $length; $i++) {
$sum += $arr[$i];
// Ha az összeg nagyobb vagy egyenlő, mint 10:
if ($sum >= 10) {
return $i + 1; // kilépünk a ciklusból és a függvényből
}
}
}
$res = func([1, 2, 3, 4, 5]);
echo $res;
?>
A következő példában egy olyan függvény készült, amely
kiszámolja, hogy hány egész számot, kezdve 1-től,
kell összeadni, hogy az eredmény nagyobb legyen
mint 100:
<?php
function func() {
$sum = 0;
$i = 1;
while (true) { // végtelen ciklus
$sum += $i;
if ($sum >= 100) {
return $i; // a ciklus addig forog, amíg innen nem lép ki
}
$i++;
}
}
echo func();
?>
Írjon egy függvényt, amely paraméterként egy számot
fogad, és elosztja azt 2-vel annyiszor,
amíg az eredmény kisebb nem lesz mint 10.
A függvény adja vissza azon iterációk számát,
amelyekre az eredmény eléréséhez szükség volt.