จุดที่ต้องระวังเกี่ยวกับ return ใน PHP
หลังจากที่คำสั่ง return ถูกดำเนินการ
- ฟังก์ชันจะยุติการทำงาน นั่นคือ:
หลังจาก return ดำเนินการแล้ว จะไม่มีโค้ดใด ๆ
ถูกทำงานอีกต่อไป
ดูตัวอย่าง:
<?php
function func($num) {
return $num * $num;
echo '!'; // โค้ดนี้จะไม่เคยถูกดำเนินการ
}
$res = func(3);
?>
นี้ไม่ได้หมายความว่าในฟังก์ชันต้องมี
return เพียงอันเดียว แต่จะมีเพียงหนึ่งอันเท่านั้น
ที่ถูกดำเนินการ
ในตัวอย่างถัดไป ขึ้นอยู่กับค่าของพารามิเตอร์
จะมีการดำเนินการ return แรก หรือ อันที่สอง
:
<?php
function func($num) {
if ($num >= 0) {
return '+';
} else {
return '-';
}
}
echo func( 3); // จะแสดง '+'
echo func(-3); // จะแสดง '-'
?>
อะไรจะถูกแสดงบนหน้าจอ จากการดำเนินการ โค้ดต่อไปนี้:
<?php
function func($num) {
return $num;
$res = $num * $num;
return $res;
}
echo func(3);
?>
อธิบายเหตุผล
แต่ละ echo จะแสดงอะไร ออกมา จากการ
ดำเนินการโค้ดต่อไปนี้:
<?php
function func($num) {
if ($num <= 0) {
return abs($num);
} else {
return $num * $num;
}
}
echo func(10);
echo func(-5);
?>
อธิบายเหตุผล
แต่ละ echo จะแสดงอะไร ออกมา จากการ
ดำเนินการโค้ดต่อไปนี้:
<?php
function func($num) {
if ($num <= 0) {
return abs($num);
}
return $num * $num;
}
echo func(10);
echo func(-5);
?>
อธิบายเหตุผล