Sử dụng return trong vòng lặp trong PHP

Việc return nằm bên trong vòng lặp, không phải lúc nào cũng là lỗi.

Trong ví dụ sau đây, một hàm được tạo để xác định cần cộng bao nhiêu phần tử đầu tiên của mảng để tổng trở nên lớn hơn hoặc bằng 10:

php<?php
  function func($arr) {
    $length = count($arr);
    $sum = 0;
    
    for ($i = 0; $i < $length; $i++) {
      $sum += $arr[$i];
      
      // Nếu tổng lớn hơn hoặc bằng 10:
      if ($sum >= 10) {
        return $i + 1; // thoát khỏi vòng lặp và hàm
      }
    }
  }
  
  $res = func([1, 2, 3, 4, 5]);
  echo $res;
?>

Còn trong ví dụ sau đây, một hàm được tạo để tính toán, cần cộng bao nhiêu số nguyên, bắt đầu từ 1, để kết quả lớn hơn 100:

php<?php
  function func() {
    $sum = 0;
    $i = 1;
    
    while (true) { // vòng lặp vô hạn
      $sum += $i;
      
      if ($sum >= 100) {
        return $i; // vòng lặp tiếp tục cho đến khi thoát ra đây
      }
      
      $i++;
    }
  }
  
  echo func();
?>
Задание 1

Hãy viết một hàm, tham số của nó sẽ nhận một số và chia nó cho 2 nhiều lần, cho đến khi kết quả trở nên nhỏ hơn 10. Hãy để hàm trả về số lượng vòng lặp, cần thiết để đạt được kết quả.