การใช้ Control Statments

     Control Statment คือ อะไร ถ้าจะอธิบายให้เข้าใจง่ายสั้นๆ ก็คือ คำสั่งในการควบคุมการทำงานของโปรแกรม

     สำหรับผมแล้วตัวนี้ผมถือว่าเป็นหัวใจหลักๆ ในการเขียนโปรแกรมทุกภาษา เพราะว่าเป็นส่วนเอาไว้ควบคุมทุกๆ อย่างในโปรแกรมของเรา ไม่ว่าจะเป็นข้อมูล, ตรวจสอบข้อมูล, โต้ตอบกับยูซเซอร์ หรือแม้กระทั้งจัดการกับข้อผิดพลาดที่เกิดขึ้นระหว่าการทำงาน

      ภาษาในการเขียนโปรแกรมทุกภาษาจะมี 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 ครับ

     หวังว่าคงจะพอเป็นแนวทางสำหรับคนที่ต้องการหัดเขียนโปรแกรมนะครับ เจอกันบทความหน้าครับ บ้ายๆๆ Laughing