การแบ่งสายงานโดยจำแนกตามเงื่อนไขแบบ if-else

การแบ่งสายงานโดยจำแนกตามเงื่อนไขแบบ if-else

ในบางครั้งมีความจำเป็นต้องจำแนกเงื่อนไขในการทำงาน โดยแต่ละเงื่อนไขจะกำหนดกรณี เพื่อทำคำสั่งหรือกลุ่มของคำสั่ง ซึ่งอาจจะแตกต่างจากคำสั่งในกรณีอื่น ในภาษา PHP จะใช้ โครงสร้าง if หรือ if-else ในการจำแนกกรณีตามเงื่อนไข

<?

if ($x == 0)
echo $x,” is zero<BR>\n”;
else if ($x > 0)
echo $x,” is positive<BR>\n”;
else
echo $x,” is negative<BR>\n”;

?>

จากตัวอย่าง ถ้า $x มีค่าเป็นศูนย์ตามเงื่อนไข ก็จะทำคำสั่ง echo $x,” is zero<BR>\n”; ถ้าเงื่อนไขแรกเป็นเท็จ ก็จะเงื่อนไขที่สองว่า $x มีค่ามากกว่าศูนย์หรือไม่ ถ้าใช้ ก็ทำคำสั่ง echo $x,” is positive<BR>\n”; ถ้าเงื่อนที่สองเป็นเท็จอีก ก็ให้ทำคำสั่งในกรณีสุดท้ายคือ $x จะต้องมีค่าเป็นลบ

ถ้าในแต่ละกรณีต้องมีการทำคำสั่งมากกว่าหนึ่ง คือ เป็นกลุ่มคำสั่ง จะต้องใช้ { } มากำหนดขอบเขต (scope) เช่น

<?

if ($x == 0) {
echo $x;
echo ” is zero.<BR>\n”;
}
else if ($x > 0) {
echo $x;
echo ” is positive.<BR>\n”;
}
else {
echo $x;
echo ” is negative.<BR>\n”;
}

?>

โปรดสังเกตว่า { } ไม่ต้องมีเครื่องหมาย ; ต่อท้าย

ในภาษา PHP มีการกำหนด elseif (เงื่อนไข) ขึ้นมาใช้ ซึ่งไม่มีอะไรแตกต่างจาก else if (เงื่อนไข)

โครงสร้างแบบ (เงื่อนไข) ? นิพจน์ : นิพจน์ แบบที่ใช้กันในภาษาซีนั้น ก็ใช้ได้เช่นกัน ตัวอย่างเช่น

<?

$x= -0.1035;
echo (($x < 0) ? -$x : $x),”<BR>\n”;

?>