การใช้งาน return ภายในลูปใน PHP

การที่ 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 ให้ฟังก์ชันส่งคืนจำนวน รอบที่ใช้ในการบรรลุผลลัพธ์