ในบทนี้เราจะมาเรียนเรื่อง if...else และ if...elseif

if else
- เป็นคำสั่งที่ใช้เปรียบเทียบเงื่อนไขเพื่อเลือกดำเนินการอย่างใดอย่างหนึ่ง
สามารถเขียนได้หลายรูปแบบดังนี้

ตัวอย่างที่ 1

$x=2;
$y=2;

if($x == $y)
echo "\$x มีค่าเท่ากับ ".$y;
ผลลัพธ์ของโปรแกรม
- เมื่อตัวแปร $x มีค่าเท่ากับตัวแปร $y ในที่นี้ใช้ตัวดำเนินการ "==" เป็นเงื่อนไข
หากเงื่อนไขเป็นจริงโปรแกรมจะแสดงผลลัพธ์

$x มีค่าเท่ากับ 2

ตัวอย่างที่ 2
$x=2;
$y=3;

if($x == $y)
echo "\$x มีค่าเท่ากับ ".$y;
else
echo "\$x ไม่เท่ากับ ".$y;
ผลลัพธ์ของโปรแกรม
- เมื่อตัวแปร $x มีค่าเท่ากับตัวแปร $y โปรแกรมจะแสดงผลลัพธ์เหมือนกับตัวอย่างที่ 1
แต่ในที่นี้ตัวแปร $x มีค่าเท่ากับ 2 และ $y มีค่าเท่ากับ 3 ดังนั้นตัวแปรทั้งสองมีค่าไม่เท่ากัน
ผลลัพธ์จึงเป็นดังนี้

$x ไม่เท่ากับ 2

ตัวอย่างที่ 3
$x=3;
$y=2;
$z=3;

if($x == $y)
echo "\$x มีค่าเท่ากับ ".$y;
else if($x == $z)
echo "\$x มีค่าเท่ากับ ".$y;
else
echo "ไม่ตรงกับเงื่อนไขใด";
ผลลัพธ์ของโปรแกรม
- เมื่อตัวแปร $x มีค่าเท่ากับตัวแปร $y โปรแกรมจะแสดงผลลัพธ์เหมือนกับตัวอย่างที่ 1
แต่ถ้าตัวแปร $x มีค่าไม่เท่ากับตัวแปร $y โปรแกรมจะตรวจสอบในเงื่อนไขถัดไปคือ
ตัวแปร $x มีค่าเท่ากับตัวแปร $z หรือไม่ ในที่นี้ตัวแปร $x มีค่าเท่ากับตัวแปร $z
เพราะฉะนั้นจะได้ผลลัพธ์เท่ากับ

$x มีค่าเท่ากับ 3

แต่ถ้าไม่ใช่ทั้งสองกรณี คือตัวแปร $x ไม่เท่ากับทั้งตัวแปร $y และตัวแปร $z จะได้ผลลัพธ์ดังนี้

ไม่ตรงกับเงื่อนไขใด

เอาล่ะทีนี้เรามาดูการประยุกต์ใช้ if...else และ if...elseif กันบ้าง
ในทีนี้ผมจะเขียนโปรแกรมคำนวณเกรดขึ้นมาครับ คือ
80 - 100 = เกรด A
70 - 79 = เกรด B
60 - 69 = เกรด C
50 - 59 = เกรด D
และน้อยกว่า 50 = เกรด F
ทีนี้เรามาดูตัวอย่างกัน
$G = 80;

if($G >= 80)
  echo "ได้เกรด A";
else if($G >= 70)
 echo "ได้เกรด B";
else if($G >= 60)
 echo "ได้เกรด C";
else if($G >= 50)
 echo "ได้เกรด D";
else
 echo "ได้เกรด F";

ส่วนผลลัพธ์จะเป็นยังไงให้ลองเอาไปทำเป็นการบ้านดูครับ
และหากไม่เข้าใจให้ลองย้อนกลับไปดูเรื่อง โอเปอร์เรเตอร์ PHP

อยากให้ทุกคนลองเรียนรู้ ลองเขียนโค้ด และปรับเปลี่ยนค่าในตัวแปร $G เป็นตัวเลขอื่นครับ
แล้วรันคำสั่งดูด้วยตัวเอง จะทำให้สามารถเข้าใจ Code ในโปรแกรมได้มากขึ้น

ในบทนี้มีเพียงเท่านี้ ติดตามเรื่องต่อไปได้ในบทความหน้าครับ
สวัสดีครับ

0 ความคิดเห็น