การใช้งาน return ภายในลูปใน PHP
การที่ return อยู่ภายในลูป
ไม่ใช่สิ่งที่ผิดเสมอไป
ในตัวอย่างต่อไปนี้เป็นฟังก์ชันที่
กำหนดว่าต้องรวมสมาชิกแรกของอาร์เรย์กี่ตัว
เพื่อให้ผลรวมมากกว่าหรือ
เท่ากับ 10:
<?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
function func() {
$sum = 0;
$i = 1;
while (true) { // ลูปไม่สิ้นสุด
$sum += $i;
if ($sum >= 100) {
return $i; // ลูปจะทำงานจนกว่าจะออกทางนี้
}
$i++;
}
}
echo func();
?>
เขียนฟังก์ชันที่รับพารามิเตอร์เป็น
ตัวเลขและหารมันด้วย 2
ไปเรื่อยๆ จนผลลัพธ์น้อยกว่า
10 ให้ฟังก์ชันส่งคืนจำนวน
รอบที่ใช้ในการบรรลุผลลัพธ์