Použití return ve smyčce v PHP
To, že return je umístěn uvnitř smyčky,
nemusí vždy být chybou.
V následujícím příkladu je vytvořena funkce, která
určuje, kolik prvních prvků pole
je třeba sečíst, aby součet byl větší nebo
roven 10:
<?php
function func($arr) {
$length = count($arr);
$sum = 0;
for ($i = 0; $i < $length; $i++) {
$sum += $arr[$i];
// Pokud je součet větší nebo roven 10:
if ($sum >= 10) {
return $i + 1; // ukončíme smyčku a funkci
}
}
}
$res = func([1, 2, 3, 4, 5]);
echo $res;
?>
A v následujícím příkladu je vytvořena funkce, která
vypočítá, kolik celých čísel, počínaje
1, je třeba sečíst, aby výsledek
byl větší než 100:
<?php
function func() {
$sum = 0;
$i = 1;
while (true) { // nekonečná smyčka
$sum += $i;
if ($sum >= 100) {
return $i; // smyčka se točí, dokud se neukončí zde
}
$i++;
}
}
echo func();
?>
Napište funkci, která bude jako parametr přijímat
číslo a dělit ho 2
tolikrát, dokud výsledek nebude menší
než 10. Nechť funkce vrací počet
iterací, které byly potřeba k dosažení
výsledku.