# Применение 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`. Пусть функция возвращает количество итераций, которое потребовалось для достижения результата.

← →
↑