Användning av return i loopar i PHP

Att return är placerad inne i en loop är inte alltid ett misstag.

I följande exempel har en funktion skapats som bestämmer hur många av de första elementen i arrayen som behöver läggas ihop för att summan ska bli större eller lika med 10:

php<?php
  function func($arr) {
    $length = count($arr);
    $sum = 0;
    
    for ($i = 0; $i < $length; $i++) {
      $sum += $arr[$i];
      
      // Om summan är större än eller lika med 10:
      if ($sum >= 10) {
        return $i + 1; // avbryt loopen och funktionen
      }
    }
  }
  
  $res = func([1, 2, 3, 4, 5]);
  echo $res;
?>

I nästa exempel har en funktion skapats som beräknar hur många heltal, med start från 1, som behöver läggas ihop för att resultatet skall bli större än 100:

php<?php
  function func() {
    $sum = 0;
    $i = 1;
    
    while (true) { // oändlig loop
      $sum += $i;
      
      if ($sum >= 100) {
        return $i; // loopen fortsätter tills den avbryts här
      }
      
      $i++;
    }
  }
  
  echo func();
?>
Задание 1

Skriv en funktion som tar ett nummer som parameter och delar det med 2 så många gånger, tills resultatet blir mindre än 10. Låt funktionen returnera antalet iterationer som krävdes för att uppnå resultatet.