วันจันทร์ที่ 19 กันยายน พ.ศ. 2554

การเขียนโปรแกรมแบบเงื่อนไข

1. if else if

2. switch case

IF  เป็นโครงสร้างภาษาที่สำคัญอย่างหนึ่ง  ใช้ในการตรวจสอบเงื่อนไขการทำงาน  และกำหนดทิศทางในการทำงานที่เหมาะสมกับเงื่อนไขนั้น  ซึ่งโครงสร้างของ  if  ก็เป็นเช่นเดียวกับภาษา  C  คือ
1.if (condition expression)
2.          Statement
โดย  if  จะตรวจสอบว่า  เงื่อนไขใน  expression  เป็น จริง (TRUE)  หรือไม่  ถ้าเป็นจริง  ก็จะเข้าไปทำคำสั่งใน  statement  ถ้า  ไม่เป็นจริง  (FALSE)  ก็จะไม่ทำคำสั่งใน  statement   ซึ่ง  statement  นี้  อาจจะเป็นคำสั่งเพียงคำสั่งเดียว  หรือว่า  เป็นชุดคำสั่งก็ได้  ซึ่งถ้าเป็นชุดคำสั่ง  ก็ต้องมี วงเล็บปีกกา คร่อม ชุดคำสั่งนั้นด้วย  จากตัวอย่าง
1.<?
2.      if ($a > $b)
3.             echo “ a is bigger than b”;
4.      if ($b > $c) {
5.             echo “b is bigger than c”;
6.             $c = $b;
7.      }
8.?>
Note : จากตัวอย่างข้างบน ถ้ามี Statement เดียว ไม่จำเป็นต้องมี { } เปิด Statement ไว้ แต่ถ้ามีก็ไม่เป็นไรครับ แต่ถ้ามี 2 Statement ขึ้นไป ต้องมี {  } ปิดไว้นะครับ


        ELSE
    ในกรณีที่ต้องการให้มีทางเลือก  มากกว่าหนึ่งทาง  โดยท่าเงื่อนไขเป็นจริง  ก็ให้ทำทางเลือกหนึ่ง  ถ้าไม่เป็นจริง  ก็ให้ทำอีกทางเลือกหนึ่ง  ก็สามารถทำได้โดยใช้  else  เข้ามาช่วยใน  if  ดังนี้
1.if (expression)
2.     true-statement;
3.else
4.     false-statement;
ตัวอย่าง
01.<?
02.     
03.     if ($a > $b) {
04.          echo “ a is bigger than b”;
05.     } else {                           
06.          echo “a is not bigger than b”;
07.     }
08.     
09.?>
จากตัวอย่าง ถ้าเงื่อนไขเป็นจริง  ก็จะทำคำสั่งชุดแรก  ถ้าเงื่อนไขไม่เป็นจริง  ก็จะไปทำใน  else  หรือว่า  คำสั่งชุดที่สองแทน


ELSEIF
    elseif  เป็นการนำเอา  else  มารวมกับ  if  โดยเมื่อ  เงื่อนไขแรกไม่เป็นจริง  และต้องมาทำคำสั่งใน  else  ก็จะทำการตรวจสอบเงื่อนไขใน  if  ที่อยู่กับ  else  ทันที  ซึ่งจะมีรูปแบบดังนี้
1.if (expression–1)
2.      statement-1;
3.elseif (expression-2)
4.      statement-2;
5.else
6.      statement-3;
ตัวอย่าง
01.<?
02.   
03.   if ($a > $b) {
04.       echo “a is bigger than b”;
05.   } elseif ($a == $b) {
06.       echo “a is equal to b”;
07.   } else {
08.       echo “a is smaller than b”;
09.   }
10.   
11.?>
จากตัวอย่าง จะเห็นว่ามีการตรวจสอบเงื่อนไขว่า $a > $b หรือไม่  ถ้าเป็นจริง ก็จะทำคำสั่งในชุดแรก  แล้วก็ออกจากเงื่อนไข if  เลย  แต่ถ้าไม่จริง ก็จะไปตรวจสอบเงื่อนไขที่สองคือ  $a == $b  หรือไม่  ถ้าเป็นจริง  ก็จะไปทำคำสั่งในชุดที่สอง  แต่ถ้าเป็นเท็จ  ก็จะไปทำคำสั่งในชุดที่สามเลย
การใช้  elseif  นั้น  จะใช้ซ้อนกันกี่ชั้นก็ได้  ซึ่งการตรวจสอบเงื่อนไข  ก็จะทำไล่มาเรื่อย ๆ

Note : ให้ลองเขียนเป็นภาษาของคนก่อนนะ เช่น ตัวอย่างข้างบนนะ้ ถ้าเป็นภาษาที่คนเราเข้าใจก็คือ
ถ้า a > b ให้บอกว่า  a is bigger than b
แต่ถ้า a = b ให้บอกว่า a is equal b
แต่ถ้า a < b  ให้บอกว่า a is smaller than b

แล้วจะได้ส่วนของ code ข้างบนครับ