Zastosowanie return w pętli w PHP
To, że return znajduje się wewnątrz pętli,
nie zawsze musi być błędem.
W następującym przykładzie stworzono funkcję, która
określa, ile pierwszych elementów tablicy
trzeba zsumować, aby suma stała się większa lub
równa 10:
<?php
function func($arr) {
$length = count($arr);
$sum = 0;
for ($i = 0; $i < $length; $i++) {
$sum += $arr[$i];
// Jeśli suma jest większa lub równa 10:
if ($sum >= 10) {
return $i + 1; // wychodzimy z pętli i z funkcji
}
}
}
$res = func([1, 2, 3, 4, 5]);
echo $res;
?>
A w następującym przykładzie stworzono funkcję, która
oblicza, ile liczb całkowitych, zaczynając od
1, trzeba zsumować, aby wynik
był większy niż 100:
<?php
function func() {
$sum = 0;
$i = 1;
while (true) { // pętla nieskończona
$sum += $i;
if ($sum >= 100) {
return $i; // pętla kręci się, aż wyjdzie tutaj
}
$i++;
}
}
echo func();
?>
Napisz funkcję, która jako parametr będzie
przyjmować liczbę i dzielić ją przez 2
tyle razy, aż wynik stanie się mniejszy
niż 10. Niech funkcja zwraca liczbę
iteracji, które były potrzebne do osiągnięcia
wyniku.