Применение return в цикле в PHP

To, что return расположен внутри цикла, не всегда может быть ошибкой.

В следующем примере сделана функция, которая определяет, сколько первых элементов массива нужно сложить, чтобы сумма стала больше или равна 10:

php<?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<?php
  function func() {
    $sum = 0;
    $i = 1;
    
    while (true) { // бесконечный цикл
      $sum += $i;
      
      if ($sum >= 100) {
        return $i; // цикл крутится пока не выйдет тут
      }
      
      $i++;
    }
  }
  
  echo func();
?>
Задание 1

Напишите функцию, которая параметром будет принимать число и делить его на 2 столько раз, пока результат не станет меньше 10. Пусть функция возвращает количество итераций, которое потребовалось для достижения результата.