Verwendung von return in Schleifen in PHP

Dass sich return innerhalb einer Schleife befindet, muss nicht immer ein Fehler sein.

Im folgenden Beispiel wurde eine Funktion erstellt, die bestimmt, wie viele der ersten Elemente eines Arrays addiert werden müssen, damit die Summe größer oder gleich 10 wird:

php<?php
  function func($arr) {
    $length = count($arr);
    $sum = 0;
    
    for ($i = 0; $i < $length; $i++) {
      $sum += $arr[$i];
      
      // Wenn die Summe größer oder gleich 10 ist:
      if ($sum >= 10) {
        return $i + 1; // Schleife und Funktion verlassen
      }
    }
  }
  
  $res = func([1, 2, 3, 4, 5]);
  echo $res;
?>

Im folgenden Beispiel wurde eine Funktion erstellt, die berechnet, wie viele ganze Zahlen, beginnend mit 1, addiert werden müssen, damit das Ergebnis größer als 100 ist:

php<?php
  function func() {
    $sum = 0;
    $i = 1;
    
    while (true) { // Endlosschleife
      $sum += $i;
      
      if ($sum >= 100) {
        return $i; // Schleife läuft, bis sie hier verlassen wird
      }
      
      $i++;
    }
  }
  
  echo func();
?>
Задание 1

Schreiben Sie eine Funktion, die eine Zahl als Parameter entgegennimmt und sie so oft durch 2 teilt, bis das Ergebnis kleiner als 10 ist. Die Funktion soll die Anzahl der Iterationen zurückgeben, die zur Erreichung des Ergebnisses erforderlich waren.