พื้นฐานอย่างหนึ่งในการเขียนโปรแกรมให้ได้ผลลัพธ์ที่เราต้องการ จำเป็นต้องมีเงื่อนไขเพื่อบ่งบอกว่า ถ้าเกิดผลลัพธ์นั้นมีค่าเป็นอย่างใดอย่างหนึ่งให้เรานั้นทำอะไรต่อ ซึ่งลักษณะแบบนี้นั่นเองที่เรียกว่าคำสั่งเงื่อนไขในการเขียนโปรแกรม ยกตัวอย่างเช่น ถ้าเกิด ตัวแปร a บวก b และค่าเท่ากับ 10 ให้เรานั้นแสดงข้อความออกมาทางหน้าจอ เป็นต้น หรือกรณีที่ไม่ตรงกับเงื่อนไขก็สามารถกำหนดได้เหมือนกันว่าจะให้โปรแกรมนั้นทำอะไรต่อไป ดังนั้นวันนี้เราจะมาแนะนำคำสั่งเงื่อนไข if ในภาษา PHP ให้เพื่อนๆกันครับ มาดูกันเลย
การใช้คำสั่ง if
คำสั่ง if ใช้ในการเปรียบเทียบเงื่อนไขว่าตรงตามที่ต้องการหรือไม่ หากตรงกับเงื่อนไขจะทำตามคำสั่งที่กำหนดไว้ แต่หากไม่ตรงกับเงื่อนไขก็จะข้ามไปยังคำสั่งถัดไป นอกจากคำสั่ง if แล้วยังมีคำสั่งอื่นๆที่เกี่ยวข้องกันอีก เช่น else เป็นต้น ซึ่งตอนนี้เรามาดูคำสั่ง if กันก่อน เพื่อจะได้เข้าใจคำสั่งต่อไปได้ง่ายขึ้นครับ
ก่อนอื่นมาดูรูปแบบของการเขียนกันก่อนครับซึ่งการเขียนโครงสร้างของ if สามารถจำได้ง่ายๆ ดังนี้
if(เงื่อนไข){
สิ่งที่เราจะให้ทำเมื่อเข้าเงื่อนไข
}
TIP : เงื่อนไขคำสั่ง if นั้นจะต้องให้ผลลัพธ์ออกมาเป็น true หรือ false อย่างใดอย่างหนึ่งเท่านั้น และต้องกำหนดเงื่อนไขไว้ในวงเล็บปีกกาเสมอ เช่น
Ex. if แบบเงื่อนไขเดียว
if($a == $b){
echo "ตัวแปร a เท่ากับ ตัวแปร b";
}
Ex. if แบบ หลายเงื่อนไข
if($a == $b && $a > 0){
echo "ค่า a เท่ากับ ".$a;
}
การใช้คำสั่ง if และ else
คำสั่ง if else นั้นเป็นการกำหนดทางเลือกอื่นๆ หากกรณีโปรแกรมนั้นไม่ตรงกับเงื่อนไขที่อยู่ใน if โปรแกรมก็จะทำงานคำสั่งต่างๆ ที่อยู่ในวงเล็บปีกกาของ else แทน ซึ่งโครงสร้างของ if else มีรูปแบบดังนี้ครับ
if(เงื่อนไข){
คำสั่งที่จะทำ ถ้าตรงกับเงื่อนไข if
}
else{
คำสั่งที่จะทำ ถ้าไม่ตรงกับเงื่อนไข if
}
ตัวอย่างต่อไป จะแสดงโปรแกรมที่ไม่ตรงกับเงื่อนไข if ซึ่งโปรแกรมด้านล่างจะไปทำคำสั่งภายใต้วงเล็บปีกกาของ else แทน ครับ
$a = 12;
if($a % 5 = 1){
echo "เข้าเงื่อนไข if จ้า";
}
else{
echo "เข้าเงื่อนไข else จ้า";
}
จากตัวอย่างด้านบน จะได้ผลลัพธ์การแสดงผลข้อความ "เข้าเงื่อนไข else จ้า" เพราะ $a % 5 จะได้เท่ากับ 2 จึงไม่เข้าเงื่อนไข if
การใช้คำสั่ง else if
การใช้เงื่อนไข else if เราจะใช้ในกรณีที่เรามีเงื่อนไขคำสั่งเยอะๆ ซึ่งแต่ละเงื่อนไขนั้นแตกต่างกันครับ ซึ่งสามารถพูดได้ว่า else if นั้นเป็นสิ่งที่มาเสริมให้กับคำสั่ง if นั้นสมบูรณ์รัดกุมกับเงื่อนไขมากขึ้นก็ว่าได้ครับ ซึ่งเราสามารถเขียน else if เพิ่มมากี่อันก็ได้ แต่ต้องใช้ควบคู่กับ if เสมอนะครับ(ห้ามเขียนโดยไม่มี if เปิดให้ก่อน) อีกทั้งเรายังสามารถนำมาใช้ควบคู่กับ if else ได้ด้วย แบบว่าหากไม่เข้าเงื่อนไขอันใดอันนึงก็ต้องเข้า else ล่ะ ซึ่งเราสามารถเขียนโครงสร้าง else if ได้ดังนี้
if(เงื่อนไขที่ 1){
คำสั่งที่ 1
}
else if(เงื่อนไขที่ 2){
คำสั่งที่ 2
}
TIP : else ต้องอยู่ท้ายเสมอ else if จะอยู่ตรงกลางระหว่าง if กับ else
ตัวอย่างโครงสร้างหากเพิ่ม else เข้ามา
if(เงื่อนไขที่ 1){
คำสั่งที่จะทำหากตรงกับเงื่อนไขที่ 1 ในวงเล็บ if
}
else if(เงื่อนไขที่ 2){
คำสั่งที่จะทำหากตรงกับเงื่อนไขที่ 2 ในวงเล็บ else if
}
else{
คำสั่งที่จะทำหากว่าไม่ตรงกับเงื่อนไขใดๆเลย ทั้ง if และ else if
}
ตัวอย่างการใช้เงื่อนไข else if กับโปรแกรมตัดเกรด (แน่นอนว่าผู้หัดเขียนโปรแกรมใหม่ต้องเจอกับโปรแกรมนี้แทบทุกคน 555+ )
$score = 77;
if($score >= 80){
$grade = "A";
}
else if($score >= 70){
$grade = "B";
}
else if($score >= 60){
$grade = "C";
}
else if($score >= 50){
$grade = "D";
}
else{
$grade = "F";
}
echo "คะแนนของคุณคือ ".$score." ดังนั้นเกรดที่ได้คือ ".$grade;
จาก code ด้านบนเราจะได้ผลลัพธ์ข้อความ คะแนนของคุณคือ 77 ดังนั้นเกรดที่ได้คือ B
นอกจากการเขียน if, if else และ else if แล้ว คำสั่ง ในแต่ละคำสั่งเราก็สามารถซ้อนคำสั่งพวกนี้เข้าไปข้างในวงเล็บปีกกาได้อีก เพื่อใช้ตรวจสอบเงื่อนไขที่ละเอียดขึ้นครับ นอกจากนี้แล้วยังมีเทคนิคการใช้ if อีกรูปแบบหนึ่งในภาษา php อยู่เหมือนกัน ก็คือการใช้ shorthand if นั่นเอง ซึ่งเป็นการเขียน if แบบ สั้นๆ โดยไม่มีวงเล็บปีกกาลองศึกษาดูได้ที่นี่ --> เทคนิคการใช้ shorthand if
อ่านเรื่องต่อไป : การใช้คำสั่ง Switch