Употреба на 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. Нека функцијата враќа број на итерации кои биле потребни за постигнување на резултатот.