การตรวจสอบเงื่อนไข
ภาษาเขียนโปรแกรมส่วนมากแล้วย่อมจะมีการกำหนดเงื่อนไข
และการเปลี่ยนทิศทางการทำงานของตัวโปรแกรม
ทำให้สามารถสร้างทางเลือกการตัดสินใจในการทำงานของโปรแกรมได้หลากหลาย โดยที่ PHP
จะสนับสนุนการทำงานตรงจุดนี้ด้วยคำสั่ง if
สร้างทางเลือกด้วยคำสั่ง
if
คำสั่ง if ใช้ในการตรวจสอบนิพจน์ที่เรากำหนดขึ้น ถ้าตรวจสอบแล้วนิพจน์มีค่าเป็นจริง
โปรแกรมก็จะทำงานภายใต้โค้ดที่ใช้ในการประมวลผล ดังรูปแบบของคำสั่ง if ดังนี้
รูปแบบ
If
(นิพจน์)
{
//โค้ดที่ใช้ในการประมวลผล
หลังตรวจสอบนิพจน์แล้วมีค่าเท่ากับ True
}
ตัวอย่าง
การใช้งานคำสั่ง if
<?php
$a = “kitisak”;
If ($a = “kitisak” )
{
Print “I am
Kitisak.”;
}
?>
จากตัวอย่าง
จะเห็นว่าเป็นการเปรียบเทียบระหว่างตัวแปร $a กับข้อความ “kitisak” โดยใช้ตัวดำเนินการในการเปรียบเทียบ
คือ = =
if ($a = = “kitisak” )
{
Print “I am
Kitisak.”;
}
สังเกตว่าค่าของนิพจน์นี้จะมีค่าเป็นจริง
(true) เนื่องจากตัวแปร $a
มีค่าเท่ากับ “kitisak” ดังนั้นโปรแกรมก็จะแสดงข้อความว่า
“I am Kitisak.” แต่ถ้านิพจน์นี้มีค่าเป็นเท็จ (false)
โปรแกรมจะออกจากคำสั่ง if ข้ามมาทำงานในคำสั่งถัดไป
เงื่อนไข else
จากตัวอย่างข้างต้น
ถ้านิพจน์เกิดมีค่าเป็นเท็จ (false) ขึ้นมา สามารถใช้ else เข้ามาทำงานร่วมกับ if ได้โดยที่บอกว่า
จะให้ทำอะไรต่อไปถ้านิพจน์นั้นมีค่าเป็นเท็จ ดังรูปแบบของคำสั่ง if…else…ดังนี้
รูปแบบ
If (นิพจน์)
{
//โค้ดที่ใช้ในการประมวลผล
//หลังตรวจสอบนิพจน์แล้วมีค่าเท่ากับ
true
}
Else
{
//โค้ดที่ใช้ในการประมวลผล
//ในกรณีที่นิพจน์มีค่าเท่ากับ
false
}
ตัวอย่าง
การใช้งาน else
<?php
$a = “pakpoom”
if ($a = = “kitisak” )
{
print
“I am Kitisak.”;
}
else
{
print
“Who are you?”;
}
?>
จากตัวอย่าง
สังเกตว่าค่าของนิพจน์ที่ได้นั้นเป็นเท็จ (false)
เนื่องจากตัวแปร $a มีค่าเท่ากับ “pakpoom” ดังนั้นโปรแกรมก็จะทำงานในส่วนของโค้ดที่ใช้ในการประมวลผลหลัง else คือจะแสดงข้อความว่า “Who are you?”;
เงื่อนไข elseif
ในกรณีที่มีนิพจน์มากกว่า
1 ขึ้นไป เราจะใช้ elseif เข้ามาทำการตรวจสอบนิพจน์นั้น
ดังรูปแบบนี้
รูปแบบ
if (นิพจน์1)
{
//โค้ดที่ใช้ในการประมวลผล
//หลังตรวจสอบนิพจน์
1 แล้วมีค่าเท่ากับ True
}
elseif (นิพจน์2)
{
//โค้ดที่ใช้ในการประมวลผล
//หลังตรวจสอบนิพจน์
2 แล้ว มีค่าเท่ากับ True
}
else
{
//โค้ดที่ใช้ในการประมวลผล ในกรณีที่นิพจน์ทั้งหมดมีค่าเท่ากับ False
}
ตัวอย่าง
การใช้งาน elseif
<?php
$a = “lay”;
if ($a = = “kitisak” )
{
print
“I am Kitisak.”;
}
elseif ( $a = = “lay” )
}
print
“I am Lay.”;
}
else
{
print
“Who are you?”;
}
?>
จากตัวอย่างการใช้งาน
elseif ถ้านิพจน์แรก ($a = = “kitisak” ) ไม่เป็นจริง (false)
โปรแกรมจะทำการตรวจสอบนิพจน์ถัดไปคือ ( $a = = “lay” )
อีกครั้งหนึ่ง ถ้าเป็นจริง (true)
โปรแกรมก็จะทำงานในส่วนของโค้ดที่ใช้ในการประมวลผลหลัง elseif ผลลัพธ์ที่ได้จากตัวอย่างก็คือ พิมพ์คำว่า “I am Lay.”
สร้างทางเลือกด้วยคำสั่ง
switch
คำสั่ง switch จะใช้ในการสร้างทางเลือกที่หลากหลาย คล้ายกับ if
แต่จะเลือกเพียงหนึ่งทางเลือกออกมาทำงานโดยค่าผลลัพธ์ที่ได้จากการตรวจสอบนิพจน์นั้นจะอยู่ในรูปของ
Boolean คือ true or false
รูปแบบ
switch (นิพจน์)
{
case choice 1:
//นิพจน์ที่ใช้ประมวลผล เมื่อเงื่อนไขตรงกับ choice1
break:
case choice 2:
//นิพจน์ที่ใช้ประมวล เมื่อเงื่อนไขตรงกับ choice 2
Break:
default:
//นิพจน์ที่ใช้ประมวลผล เมื่อเงื่อนไขไม่ตรงกับ choice ใด ๆ เลย
}
ตัวอย่าง
การใช้งาน switch
<?php
$name = “beer”;
switch ( $name )
{
case “beer”:
echo
“เว็บมาสเตอร์”
break;
case “bom”:
echo
“โปรแกรมเมอร์”
break;
case “lay”:
echo
“วิศวกรระบบ”
break;
default:
echo “คุณเป็นใครกันครับ”
}
?>
จากตัวอย่าง
ผลลัพธ์ที่ได้ คือ คำว่า “เว็บมาสเตอร์” เนื่องจากเรากำหนดให้ตัวแปร $name มีค่าเท่ากับ beer
เมื่อทำการตรวจสอบเงื่อนไขแล้วจะตรงกับ case “beer”: จากนั้นจึงทำตามนิพจน์ที่อยู่ภายในจนกว่าจะพบกับคำสั่ง break ถึงจะหยุดการทำงาน และหลุดออกจาก switch มาทำงานในคำสั่งถัดไป
สร้างทางเลือกด้วยตัวดำเนินการ?
?
เป็นตัวดำเนินการที่ใช้ในการตรวจสอบเงื่อนไขคล้าย ๆ กับคำสั่ง if จะต่างกันก็ตรงที่มันส่งค่ากลับคืนมาได้เพียง 2 ค่าเท่านั้น คือ
ถ้าเป็นจริงจะให้ทำอะไรหรือถ้าเป็นเท็จจะให้ทำอะไรโดยมีเครื่องหมาย :
(colon) เป็นตัวคั่นระหว่าง ค่าที่จะส่งกลับมาระหว่าง จริง:เท็จ ซึ่งจะมีลักษณะคล้ายกับคำสั่ง iif ของภาษา Visual
Basic
ไม่มีความคิดเห็น:
แสดงความคิดเห็น