Ужыванне return у цыкле ў PHP
Тое, што return
размешчаны ўнутры цыклу,
не заўсёды можа быць памылкай.
У наступным прыкладзе зроблена функцыя, якая
вызначае, колькі першых элементаў масіву
трэба скласці, каб сума стала большая або
роўная 10
:
<?php
function func($arr) {
$length = count($arr);
$sum = 0;
for ($i = 0; $i < $length; $i++) {
$sum += $arr[$i];
// Калі сума большая або роўная 10:
if ($sum >= 10) {
return $i + 1; // выходзім з цыклу і з функцыі
}
}
}
$res = func([1, 2, 3, 4, 5]);
echo $res;
?>
А ў наступным прыкладзе зроблена функцыя, якая
вылічвае, колькі цэлых лікаў, пачынаючы з
1
, трэба скласці, каб вынік
быў большы за 100
:
<?php
function func() {
$sum = 0;
$i = 1;
while (true) { // бясконцы цыкл
$sum += $i;
if ($sum >= 100) {
return $i; // цыкл круціцца пакуль не выйдзе тут
}
$i++;
}
}
echo func();
?>
Напішыце функцыю, якая параметрам будзе
прымаць лік і дзяліць яго на 2
столькі разоў, пакуль вынік не стане меншы
за 10
. Хай функцыя вяртае колькасць
ітэрацый, якая спатрэбілася для дасягнення
выніку.