Anvendelse af return i en løkke i PHP

At return er placeret inde i en løkke, er ikke altid en fejl.

I det følgende eksempel er der lavet en funktion, som bestemmer, hvor mange af de første elementer i arrayet der skal lægges sammen, for at summen bliver større eller lig med 10:

php<?php
  function func($arr) {
    $length = count($arr);
    $sum = 0;
    
    for ($i = 0; $i < $length; $i++) {
      $sum += $arr[$i];
      
      // Hvis summen er større eller lig med 10:
      if ($sum >= 10) {
        return $i + 1; // afslutter løkken og funktionen
      }
    }
  }
  
  $res = func([1, 2, 3, 4, 5]);
  echo $res;
?>

Og i det følgende eksempel er der lavet en funktion, som beregner, hvor mange heltal, startende fra 1, der skal lægges sammen, for at resultatet bliver større end 100:

php<?php
  function func() {
    $sum = 0;
    $i = 1;
    
    while (true) { // uendelig løkke
      $sum += $i;
      
      if ($sum >= 100) {
        return $i; // løkken kører indtil den afsluttes her
      }
      
      $i++;
    }
  }
  
  echo func();
?>
Задание 1

Skriv en funktion, som ved parameter vil tage et tal og dividere det med 2 så mange gange, indtil resultatet bliver mindre end 10. Lad funktionen returnere antallet af iterationer, der var nødvendigt for at opnå resultatet.