Použití return ve smyčce v PHP

To, že return je umístěn uvnitř smyčky, nemusí vždy být chybou.

V následujícím příkladu je vytvořena funkce, která určuje, kolik prvních prvků pole je třeba sečíst, aby součet byl větší nebo roven 10:

php<?php
  function func($arr) {
    $length = count($arr);
    $sum = 0;
    
    for ($i = 0; $i < $length; $i++) {
      $sum += $arr[$i];
      
      // Pokud je součet větší nebo roven 10:
      if ($sum >= 10) {
        return $i + 1; // ukončíme smyčku a funkci
      }
    }
  }
  
  $res = func([1, 2, 3, 4, 5]);
  echo $res;
?>

A v následujícím příkladu je vytvořena funkce, která vypočítá, kolik celých čísel, počínaje 1, je třeba sečíst, aby výsledek byl větší než 100:

php<?php
  function func() {
    $sum = 0;
    $i = 1;
    
    while (true) { // nekonečná smyčka
      $sum += $i;
      
      if ($sum >= 100) {
        return $i; // smyčka se točí, dokud se neukončí zde
      }
      
      $i++;
    }
  }
  
  echo func();
?>
Задание 1

Napište funkci, která bude jako parametr přijímat číslo a dělit ho 2 tolikrát, dokud výsledek nebude menší než 10. Nechť funkce vrací počet iterací, které byly potřeba k dosažení výsledku.