วงวนและ return ใน PHP
สมมติว่าเรามีฟังก์ชันที่คืนค่าผลรวมของตัวเลข
ตั้งแต่ 1 ถึง 5:
<?php
function func() {
$sum = 0;
for ($i = 1; $i <= 5; $i++) {
$sum += $i;
}
return $sum;
}
$res = func();
echo $res; // แสดงผล 15
?>
ทีนี้ สมมติว่าเราใส่ return
ไว้ภายในวงวน แบบนี้:
<?php
function func() {
$sum = 0;
for ($i = 1; $i <= 5; $i++) {
$sum += $i;
return $sum;
}
}
$res = func();
echo $res;
?>
ในกรณีนี้ วงวนจะทำงานเพียงหนึ่งรอบเท่านั้น
แล้วจะออกจากฟังก์ชันทันที (และออกจากวงวนด้วย) และในหนึ่ง
รอบของวง loop ตัวแปร $sum จะเก็บค่า
เพียงแค่เลข 1 เท่านั้น ไม่ใช่ผลรวมทั้งหมดที่ต้องการ
ผลลัพธ์ที่แสดงบนหน้าจอจากการทำงานของ โค้ดต่อไปนี้คืออะไร:
<?php
function func($num) {
$sum = 0;
for ($i = 1; $i <= $num; $i++) {
$sum += $i;
return $sum;
}
}
echo func(5);
?>
อธิบายเหตุผล
ผู้เขียนโค้ดนี้ต้องการทำอะไร? แก้ไข ข้อผิดพลาดของผู้เขียน