Použitie return v cykle v PHP
To, že return sa nachádza vo vnútri cyklu,
nie vždy musí byť chybou.
V nasledujúcom príklade je vytvorená funkcia, ktorá
určuje, koľko prvých prvkov poľa
je potrebné sčítať, aby sa súčet stal väčším alebo
rovným 10:
<?php
function func($arr) {
$length = count($arr);
$sum = 0;
for ($i = 0; $i < $length; $i++) {
$sum += $arr[$i];
// Ak je súčet väčší alebo rovný 10:
if ($sum >= 10) {
return $i + 1; // ukončíme cyklus a funkciu
}
}
}
$res = func([1, 2, 3, 4, 5]);
echo $res;
?>
A v nasledujúcom príklade je vytvorená funkcia, ktorá
počíta, koľko celých čísel, počnúc od
1, je potrebné sčítať, aby bol výsledok
väčší ako 100:
<?php
function func() {
$sum = 0;
$i = 1;
while (true) { // nekonečný cyklus
$sum += $i;
if ($sum >= 100) {
return $i; // cyklus beží, kým neukončí tu
}
$i++;
}
}
echo func();
?>
Napíšte funkciu, ktorá ako parameter bude
prijímať číslo a deliť ho 2
tolko krát, kým výsledok nebude menší ako
10. Nech funkcia vráti počet
iterácií, ktoré boli potrebné na dosiahnutie
výsledku.