วันศุกร์ที่ 9 พฤศจิกายน พ.ศ. 2555

PHP - Control Statement

        เป็นคำสั่งที่ทำหน้าที่ควบคุมการทำงานของแต่ละ statement ในโปรแกรม โดยปกติแล้ว statement จะถูกประมวลผลตามลำดับจากบรรทัดแรกจนถึงบรรทัดสุดท้าย Control statement  ถูกสร้างขึ้นมาเพื่อใช้ควบคุมและเปลี่ยนแปลงลำดับของการประมวลผล statement เหล่านี้ เช่นอาจให้มีการประมวลผลบาง statement ในบางกรณีเท่านั้น

Control Statement ทั้งหมดใน PHP มีดังนี้

1. IF

        ตรวจสอบเงื่อนไขการทำงาน ซึ่งโครงสร้างของ if ก็เป็นเช่นเดียวกับภาษา C คือ

        if (condition expression)
           statement

        โดยถ้าเงื่อนไขใน expression เป็นจริง ก็จะเข้าไปทำคำสั่งใน statement ถ้าไม่เป็นจริง ก็จะไม่ทำคำสั่งใน statement ซึ่ง statement อาจจะเป็นคำสั่งเพียงคำสั่งเดียว หรือว่า เป็นชุดคำสั่งก็ได้ ถ้าเป็นชุดคำสั่ง ก็ต้องมี วงเล็บปีกกา คร่อม ชุดคำสั่งนั้นด้วย ดังตัวอย่าง

        if ($a > $b)
           echo “ a is bigger than b”;

        if ($b > $c) {
           echo “b is bigger than c”;
           $c = $b;
        }

ELSE

        ในกรณีที่ต้องการให้มีทางเลือกมากกว่าหนึ่งทาง โดยถ้าเงื่อนไขเป็นจริง ก็ให้ทำทางเลือกหนึ่ง ถ้าไม่เป็นจริงก็ให้ทำอีกทางเลือกหนึ่ง สามารถทำได้โดยใช้ else เข้ามาช่วยใน if ดังนี้

        if (expression)
           true-statement;
        else
           false-statement;

ELSEIF

        เป็นการนำเอา else มารวมกับ if โดยเมื่อ เงื่อนไขแรกไม่เป็นจริง และต้องมาทำคำสั่งใน else ก็จะทำการตรวจสอบเงื่อนไขใน if ที่อยู่กับ else ทันที ซึ่งจะมีรูปแบบดังนี้

        If (expression–1)
           statement-1;
        elseif (expression-2)
           statement-2;
        else
           statement-3;

        การใช้ elseif นั้น จะใช้ซ้อนกันกี่ชั้นก็ได้ ซึ่งการตรวจสอบเงื่อนไข ก็จะทำไล่มาเรื่อย ๆ

2. WHILE

        เป็นคำสั่งที่ทำให้เกิดการทำงานวนรอบ โดยจะตรวจสอบเงื่อนไขการทำงานว่าเป็นจริงหรือไม่ ถ้าเป็นจริง ก็จะวนทำชุดคำสั่งที่กำหนดไว้ไปเรื่อย ๆ จนกว่าเงื่อนไขการทำงานจะเป็นเท็จ โครงสร้างของ while เป็นดังนี้

        while (expression)
           statement

        ตัวอย่าง
           $i = 1;
           while ($i <= 10) {
              print $i;
              $i++;
           }

3. DO…WHILE

        do ..while จะคล้ายๆ กับ while แต่จะต่างกันตรงที่ว่า while นั้น จะตรวจสอบเงื่อนไขก่อนเข้าไปทำงาน แต่ว่า do..while จะทำงานก่อนแล้วค่อยตรวจสอบเงื่อนไข มีรูปแบบดังนี้

        do
           statement
        while (expression)

4. FOR

        for จะถูกใช้งานต่างกับ while ตรงที่ว่าไม่ได้เป็นการตรวจสอบเงื่อนไข แต่ใช้จำนวนครั้งในการทำงานเป็นการกำหนดการทำงานแทน มีโครงสร้างดังนี้

        for (expr1; expr2; expr3)
          statement;

        โดย expr1 จะถูกเรียกมาทำงาน เมื่อ for เริ่มทำงาน และจะทำงานแค่ครั้งเดียว และทุกครั้งก่อนที่เกิด loop ก็จะทำการตรวจสอบเงื่อนไขใน expr2 ว่าเป็นจริงหรือไม่ ถ้าเป็นจริง ก็จะเข้าไปทำคำสั่งใน statement แต่ถ้าไม่เป็นจริง ก็จะออกจากการทำงานใน for ไป และหลังจากทำงานใน statement เสร็จแล้ว ก็จะมาทำงานใน expr3 ก่อนที่จะไปตรวจสอบเงื่อนไขใน expr2 อีกครั้ง

5. BREAK

        ใช้หยุดการทำงานใน loop while, do..while และ for โดยที่ไม่ต้องทำการตรวจสอบเงื่อนไขของ loop เหล่านั้น ดูตัวอย่าง

        $I = 0;
        while ( $i < 10) {
           if ($arr[$i] == “stop”) {
           break;
           }
           $i++;
        }

ไม่ว่าค่า  $i จะเป็นค่าเท่าไหร่ ถ้าข้อมูลใน array $arr[] เป็น stop เมื่อไหร่ ก็จะหยุดทำงานใน loop ทันที

6. CONTINUE

        จะคล้ายๆ กับ break นั่นคือ จะหยุดการทำงานใน loop ปัจจุบันเอาไว้ก่อน แต่จะต่างจาก break ตรงที่ว่า continue จะกลับไปเริ่มต้นทำงานใหม่ ที่ต้นของ loop แทนที่จะออกจาก loop ไปเลย

7. SWITCH

        จะทำการตรวจสอบเงื่อนไข ที่ไม่เฉพาะ ถูกและผิด ได้ ซึ่งจะทำงานคล้ายๆ กับชุดของ if / elseif นั่นเอง ต่างกันตรงที่ว่า switch จะเป็นการกำหนดตำแหน่งที่จะทำงานมากกว่าจะกำหนดชุดคำสั่งที่จะทำงาน มีรูปแบบดังนี้

        switch (expression) {
           case expr1 :
           ...
           case expr2 :
           ...
          


        ตัวอย่าง

        switch($I) {
           case 0 :
              echo “$i equals 0”;
              break;
           case 2 :
              echo “$i equals 2”;
              break;
        }

8. REQUIRE

        จะแทนที่ตัวเองด้วยคำสั่งที่อยู่ใน file ที่กำหนดไว้ ซึ่ง require จะทำงานเพียงแค่ครั้งเดียว เมื่อโปรแกรมถูก load เท่านั้น

9. INCLUDE

        จะคล้ายกับ require แต่จะต่างกันตรงที่ว่า include จะทำงานเมื่อถูกเรียก ไม่ใช่ทำงานเมื่อโปรแกรมถูก load ดังนั้น file ที่ include อาจจะเปลี่ยนไปเรื่อยๆ ได้ (เช่น การใส่ include ไว้ใน loop ต่างๆ ) แต่ว่า file ที่ require จะเป็นได้แค่ file เดียวที่กำหนดไว้ตอนแรก

10. FUNCTION

        เป็นการรวมชุดคำสั่งต่างๆ ไว้ด้วยกัน เพื่อให้สะดวกต่อการเรียกใช้ โดยจะมีโครงสร้างดังนี้

        Function foo ($arg_1, $arg_2, …., $arg_n) {
           Echo “Example function.\n”;
           Return $retval;
        }

        มีส่วนประกอบดังนี้

        Function Name
           เป็นชื่อที่จะถูกใช้ในการอ้างอิงถึง function นั้น

        Arguments ($arg)
           คือค่าข้อมูลที่ส่งให้กับ function เพื่อใช้ในการประมวลผล

        Return Value
           คือค่าผลลัพธ์ที่ได้จากการทำงาน ซึ่ง function จะคืนย้อนกลับออกมา


ไม่มีความคิดเห็น: