สำหรับผมแล้วตัวนี้ผมถือว่าเป็นหัวใจหลักๆ ในการเขียนโปรแกรมทุกภาษา เพราะว่าเป็นส่วนเอาไว้ควบคุมทุกๆ อย่างในโปรแกรมของเรา ไม่ว่าจะเป็นข้อมูล, ตรวจสอบข้อมูล, โต้ตอบกับยูซเซอร์ หรือแม้กระทั้งจัดการกับข้อผิดพลาดที่เกิดขึ้นระหว่าการทำงาน
ภาษาในการเขียนโปรแกรมทุกภาษาจะมี Control Statment เหมือนกัน ถ้าเข้าใจหลักการแล้ว ก็จะสามารถนำไปใช้ได้กับอีกหลายๆ ภาษาเลยทีเดียวครับ จะแตกต่างกันก็แค่ syntax (คือ ไวยากรณ์ หรือ รูปแบบของคำสั่ง) ที่จะเป็นลักษณะเฉพาะของแต่ละภาษา อธิบายแล้วอาจจะงง งั้นเรามาดู Control Statment ตัวแรกกันเลย
if...else
ใช้ในการเปรียบเทียบเงื่อนไขเพื่อเลือกทำงานอย่างใดอย่างหนึ่ง ซึ่งจะต้องมีการใช้ Operator ที่เราได้กล่าวไปแล้วในบทความที่แล้วมาช่วยในการทำงานครับ มาดูรูปแบบคำสั่งกันเลยครับ
    $a = 10;
    if($a > 5){
        echo "a > 5";
    }
จากโค้ดเรากำหนดค่า $a=10 บรรทัดต่อมาทำการตรวจสอบค่า $a ว่ามากกว่า 5 หรือเปล่า ถ้าเงื่อนไขเป็นจริง คือมากกว่าก็ให้เข้าไปทำงานที่คำสั่งภายใน {...} ซึ่งผลของการรันโค้ดนี้ก็คือจะแสดงข้อความ a > 5 ออกมา แล้วถ้าเกิดว่า เงื่อนไขเป็นเท็จ คือ $a น้อยกว่า 5 ละ จะเกิดไรขึ้น คำตอบคือไม่มีอะไรเกิดขึ้น โปรแกรมก็จะข้ามคำสั่งที่อยู่ภายใน {...} ไปทำคำสั่งอื่นต่อไป
จากตัวอย่างจะเห็นว่าไม่มีคำสั่งมารองรับกรณีที่ $a น้อยกว่า 5 เราจึงเขียนคำสั่งเพิ่มเป็น
    $a = 10;
    if($a > 5){
        echo "a > 5";
    }else{
        echo "a < 5";
    }
เราได้เพิ่มคำสั่ง else เข้ามาสำหรับกรณีที่เงือนไขเป็นเท็จ คือ แสดงข้อความว่า a < 5
ลองดูอีกสักตัวอย่างนะครับ ดูกันง่ายๆ เลย $name เก็บชื่อ John เราจะตรวจสอบว่า $name เก็บค่าอะไร โดยมีการตรวจสอบหลายครั้ง โดยใช้ if...else ลองดูไล่ดูโค้ดนะครับ
$name = "John";
 if($name == "Tom"){
     echo "You are John";
 }else if($name == "Alex"){
     echo "You are Alex";
 }if($name == "John"){//------------ตรงนี้
     echo "You are John";
 }else{
    echo "Who are you ?";
 }
โดยระบบจะตรวจสอบไปเรื่อยๆ จนกว่าจะถูกต้องคือตรงที่ผม comment ไว้ แต่ถ้าไม่ตรงกันค่าไหนก็จะแสดงคำว่า "Who are you ?"
switch
ถ้าดูจากโค้ดตัวอย่างด้านบนการใช้ if...else ถ้ามีการตรวจสอบหลายเงื่อนไขจะทำให้โค้ดดูอยากพอสมควร ทำให้จึงต้องมีคำสั่ง switch ดังตัวอย่างโค้ดด่านล่างครับ
$name = "John";
 switch($name){
  case "Tom" :
      echo "You are Tom";
      break;
  case "Alex" :
      echo "You are Alex";
      break;
  case "John" :
      echo "You are John";
      break; 
  default :
      echo "Who are You ?";
      break;
 }
เราจะใส่ตัวแปรหรือค่าที่ต้องการตรวจสอบไว้ที่ switch($name) และจะนำค่าไปตรวจสอบที่คำสั่ง case "Tom" : ถ้าค่าถูกต้องก็จะเข้าไปทำงานหลังเครื่องหมาย : ไปเรื่อยๆตามลำดับจนกว่าจะเจอคำสั่ง break; แต่ถ้าค่าไม่ถูกก็จะไปตรวจสอบกับ case ลำดับถัดไป แต่ถ้าหาตรวจสอบจะครบทุก case แล้วยังไม่ถูกต้องก็จะเข้าทำงานในส่วนของ default ครับ
     หวังว่าคงจะพอเป็นแนวทางสำหรับคนที่ต้องการหัดเขียนโปรแกรมนะครับ เจอกันบทความหน้าครับ บ้ายๆๆ 