วันพุธที่ 4 กันยายน พ.ศ. 2556

ตัวควบคุมการทำงาน (Control Structures)

ตัวควบคุมการทำงาน (Control Structures)
ในการเขียนโปรแกรมคอมพิวเตอร์นั้น คอมพิวเตอร์จะทำงานโดยเรียงลำดับลงมาจากบน – ลงล่าง
(Top – Down) แต่ถ้าเราต้องการสั่งให้คอมพิวเตอร์ทำงานย้อยกลับ หรือมีการทำงานซ้ำ เราจะต้องมีตัวค;บคุมการทำงานดังนี้
If . . .Else . . .ElseIf
คำสั่ง If เป็นคำสั่งสำหรับกำหนดให้โปรแกรมทำงานอย่างมีเงื่อนไข โดยเริ่มต้นในการตรวจสอบนิพจน์ ว่าค่าที่ได้เป็นจริงหรือเท็จ และนำค่าที่ได้เป็นตัวเลือกว่าจะกระทำตามคำสั่งใด ดังนี้
การใช้งาน If ตรวจสอบเงื่อนไขเดียว
รูปแบบ
If (เงื่อนไข) {
ตัวกำหนดในการทำงานเมื่อเป็นจริงตามเงื่อนไข;
}
การใช้งาน If ตรวจสอบสองเงื่อนไข
รูปแบบ
If (เงื่อนไข) {
ตัวกำหนดในการทำงานเมื่อเป็นจริงตามเงื่อนไข;
} else {
ตัวกำหนดในการทำงานเมื่อไม่เป็นจริงตามเงื่อนไข;
}
การใช้งาน If ตรวจสอบมากกว่าสองเงื่อนไข
รูปแบบ
If (เงื่อนไขที่ 1) {
ตัวกำหนดในการทำงานเมื่อเป็นจริงตามเงื่อนไขที่ 1;
} elseif (เงื่อนไขที่ 2) {
ตัวกำหนดในการทำงานเมื่อไม่เป็นจริงตามเงื่อนไขที่ 2;
} [else if (เงื่อนไขที่ …) {
ตัวกำหนดในการทำงานเมื่อไม่เป็นจริงตามเงื่อนไขที่ …;
[} else {
ตัวกำหนดในการทำงานเมื่อไม่เป็นจริงตามเงื่อนไขข้างต้น; ]]
}

While
คำสั่ง while เป็นคำสั่งในการวนรอบ โดยจะมีการตรวจสอบเงื่อนไขก่อนแล้วค่อยมีการทำงานตามลำดับ แต่ถ้าเงื่อนไขไม่เป็นตามที่กำหนดก็จะออกจากการวนรอบของ while ทันทีดังนี้
รูปแบบ
While (เงื่อนไข) {
คำสั่งในการทำงาน;
}
ตัวอย่าง
<?
$i = 1;
while ($i <= 10) {
echo $i++."<br>";
}
?>
จากตัวอย่างข้างต้นเป็นการตรวจสอบเงื่อนไขเดียวคือ ตัวแปร i น้อยกว่า 10 ซึ่งถ้าเป็นจริงตามเงื่อนไขก็จะพิมพ์ค่า i ออกมาแล้วเพิ่มค่า i ไปที่ละ 1 จน i มีค่าถึง 11 จะออกจาก Loop
do … While
เป็นคำสั่งวน loop คล้ายกับ While แต่จะทำงานตามคำสั่งก่อนแล้วค่อยตรวจสอบเงื่อนไข
for
คำสั่ง for เป็นคำสั่งในการวนรอบอีกคำสั่งหนึ่งแต่จะไม่มีการตรวจสอบเงื่อนไข เพียงแต่ทำตามคำสั่งที่กำหนดไว้แล้วเท่านั้น
ตัวอย่างการใช้งานคำสั่ง for
for ($i = 1; $i <= 10; $i++ ) {
echo "$i <br>";
}
อธิบาย : ภายใน for ( . . . )
$i = 1; คือการกำหนดค่าเริ่มต้น
$i <= 10; คือการกำหนดค่าจุดสิ้นสุด
$i++ คือการกำหนดให้เพิ่มไปทีละ 1
ผลลัพธ์ที่ได้คือ จะมีการวนรอบเพื่อพิมพ์ค่า 1 ถึง 10

break
คำสั่ง break คือคำสั่งที่ใช้ในการหลุดออกจากเงื่อนไข หรือจบเงื่อนไขทันที
ตัวอย่าง
$i = 0;
while ($I <= 50) {
if ($i ==20) { break; }
echo "$i <br>";
$i++;
}
ที่จริงแล้วคำสั่งนี้จะต้องพิมพ์ค่า 0 ถึง 50 ออกมา แต่เนื่องจากมีการใช้คำสั่ง if มาตรวจเช็คเมื่อถึง 20 ถ้าเป็นจริงก็จะทำคำสั่ง break และหยุดการวนรอบทันทีทำให้ผลลัพธ์ที่ได้ออกมาคือ 1 ถึง 19
continue
คำสั่ง continue เป็นคำสั่งที่ใช้ควบคู่กับคำสั่งในการวนรอบ โดยเมื่อโปรแกรมทำการรันคำสั่งนี้ จะทำการกระโดดไปเริ่มต้นใหม่ทันที ( ใช้กับคำสั่ง for, while)
ตัวอย่าง
for ($a = 0; $a <= 50; $a++) {
if ($a % 2) { continue } //เป็นเลขคี่กระโดดไปเริ่มต้นใหม่
echo "$a <br>"; //ให้พิมพ์เลขคู่ออกมา
}
}
เป็นการพิมพ์เลขคู่จาก 0 ถึง 50
switch
คำสั่ง switch เป็นคำสั่งในการเลือกเงื่อนไขจำนวนมากๆ ซึ่งจะสะดวกกว่าการใช้คำสั่ง if
ตัวอย่าง
$a = 1;
switch ($a) {
case 0;
echo "a มีค่าเท่ากับ 0";
break;
case 1;
echo "a มีค่าเท่ากับ 1";
break;
default;
echo "a ไม่มีค่าเท่ากับ 0 หรือ 1";
}

return
เป็นการส่งค่ากลับจากฟังก์ชั่น
include ();
คำสั่ง include() เป็นคำสั่งในการเรียก PHP Script ที่อยู่ในไฟล์อื่นเข้ามาทำงาน โดยสามารถเรียกใช้งานภายใต้คำสั่งของการวนรอบ ( Loop ) และสามารถที่จะนำมาเปรียบเทียบเงื่อนไขการทำงานได้
ตัวอย่างที่ 1 เรียกใช้คำสั่ง include() ภายใต้การวนรอบของคำสั่ง for
$fa = array (‘a.inc’, ’b.inc’, ‘c.inc’, ‘d.inc’);
for ($i = 0; $i < count($fa); $++) {
include $fa[$I];
}
จากตัวอย่างแรก จะใช้อาเรย์ fa เป็นตัวเก็บข้อมูลของไฟล์ทั้งหมด 4ไฟล์ จากนั้นจะทำการวนรอบเพื่อเรียกใช้ (include) ทีละไฟล์
ตัวอย่างที่ 2 เรียกใช้คำสั่ง include() ภายในเงื่อนไขของการเปรียบเทียบ
$a = 12;
if ( $a == 12 ) {
include("asp.inc")
}else{
include("diaw.inc")
}
require ();
คำสั่งนี้จะเป็นคำสั่งในการเรียก PHP Script ที่อยู่ในไฟล์อื่นเข้ามาทำงานซึ่งคล้ายกับ include เพียงแต่สามารถเรียกใช้ภายใต้คำสั่งการวนรอบได้ (Loop)
require (‘header.inc’);
include_once ();
คำสั่งเหมือนกับ include() เป็นคำสั่งในการเรียก PHP Script ที่อยู่ในไฟล์อื่นเข้ามาทำงาน โดยตรวจสอบว่าเคยเรียกมาแล้วหรือยังถ้าเคยจะไม่เรียกซ้ำอีก
require_once ();
คำสั่งนี้จะเป็นคำสั่งในการเรียก PHP Script ที่อยู่ในไฟล์อื่นเข้ามาทำงานซึ่งคล้ายกับ include_once เพียงแต่สามารถเรียกใช้ภายใต้คำสั่งการวนรอบได้ (Loop)

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

แสดงความคิดเห็น