เสรี ชิโนดม seree@buu.ac.th ข้อความสั่งควบคุม เสรี ชิโนดม seree@buu.ac.th
ตัวดำเนินการเปรียบเทียบ การเปรียบเทียบตัวเลขสำหรับสร้างเงื่อนไข มีตัวดำเนินการดังนี้ == เท่ากับ > มากกว่า >= มากกว่าหรือเท่ากับ < น้อยกว่า <= น้อยกว่าหรือเท่ากับ != ไม่เท่ากับ PHP Programming
การสร้างเงื่อนไข เราสามารถสร้างเงื่อนไขจากการเปรียบเทียบได้ซับซ้อนมากขึ้นโดยใช้ตัวดำเนินการ "และ" "หรือ" "ไม่" มาประกอบ ตัวอย่างเช่น ($x == -1) || ($x==1) ถ้า $x มีค่าเท่ากับ -1 หรือ 1 จะได้เงื่อนไขเป็นจริง นอกเหนือจากนั้นเป็นเท็จ ($x < 10) && ($x >1) ถ้า $x มีค่าน้อยกว่า 10 และ มากกว่า 1 ก็จะได้เงื่อนไขที่เป็นจริง นอกเหนือจากนั้นเป็นเท็จ PHP Programming
การสร้างเงื่อนไข(ต่อ) ($x !=0) ถ้า $x ไม่เท่ากับศูนย์ ก็ได้เงื่อนไขเป็นจริง นอกเหนือจากนั้นเป็นเท็จ การใช้ || และ && มีลักษณะการทำงานเหมือนในภาษาซี ($x || $y) ถ้า $x เป็นจริงจะไม่มีการพิจารณา $y ($x && $y) ถ้า $x เป็นเท็จแล้วจะไม่มีการพิจารณา $y ต่อ PHP Programming
ข้อความสั่ง if if เป็นข้อความสั่งที่ใช้สำหรับการทดสอบเงื่อนไขและเลือกปฏิบัติตามเงื่อนไขเมื่อเงื่อนไขเป็นจริง รูปแบบมีดังนี้ if ( เงื่อนไข ) { // รายการข้อความสั่งที่กำหนด ; } PHP Programming
ข้อความสั่ง if (ต่อ) $int_a = 10 ; การทำงาน ถ้าเงื่อนไขจริงจะปฏิบัติตาม ข้อความสั่ง ที่อยู่ในบล็อค { } แล้วทำข้อความสั่งลำดับถัดไป แต่ถ้าเงื่อนไขเป็นเท็จจะข้ามไปทำข้อความสั่งลำดับถัดไป เช่น $int_a = 10 ; if ($int_a -= 5) echo “ a = $int_a <BR>” ; จะได้ผลลัพธ์คือ a = 5 PHP Programming
ข้อความสั่ง if-else if-else เป็นข้อความสั่งที่ใช้ในการทดสอบเงื่อนไขโดยจะเลือกปฏิบัติการอย่างหนึ่งถ้าผลการทดสอบเงื่อนไขเป็นจริง และทำอีกอย่างหนึ่งถ้าการทดสอบให้ค่าเป็นเท็จ มีรูปแบบดังนี้ if ( เงื่อนไข ) { // รายการข้อความสั่งที่กำหนด; } else { PHP Programming
ข้อความสั่ง if-else (ต่อ) การทำงาน เมื่อทดสอบนิพจน์เงื่อนไขแล้ว ถ้าเงื่อนไขจริงก็จะทำในบล็อคแรกแล้ว ทำข้อความสั่งลำดับถัดไป แต่ถ้าเงื่อนไขเป็นเท็จจะทำในบล็อคที่ 2 แล้วทำข้อความสั่งถัดไป PHP Programming
ข้อความสั่ง if-else (ต่อ) <html> <body> <? $a=10; if ( $a == 10 ){ print "YES, this is true"; }else{ print "NO, this is false"; } ?> </body> </html> PHP Programming
ข้อความสั่ง if-else ซ้อน เป็นข้อความสั่งที่ใช้เลือกการทำงานในกรณีที่มีทางเลือกมากกว่า 2 ทาง มีรูปแบบดังนี้ if ( เงื่อนไข ) { // รายการข้อความสั่งที่กำหนด; } elseif { // รายการข้อความสั่ง; else { PHP Programming
ตัวอย่าง <html> <body> <? $a=10; if ( $a == 10 ){ print "YES, this is 10"; }elseif ( $a == 20 ) { print "YES, this is 20"; }else{ print "Oh.. NO!"; } ?> </body> </html> PHP Programming
ตัวอย่าง <html> <body> <? $a=10; $b=20; if ( ( $a == 10 ) && ( $b == 30) ) { print "YES, a=10 and b=30"; } elseif ( ( $a == 20 ) || ( $b == 20) ) print "YES, this is 20"; else print "Oh.. NO!"; ?> </body> </html> PHP Programming
ข้อความสั่ง switch - case รูปแบบ switch ( variable) { case VALUE1 : break; case VALUE2 : case VALUE3 : break; case VALUE n : break ; default : break; } PHP Programming
ตัวอย่าง <html> <body> <font size=5 face="MS Sans Serif"> <? $day = date("l"); switch ( $date ) { case "Monday" : print("วันนี้วันจันทร์");break; case "Tuesday" : print(" วันนี้วันอังคาร ");break; case "Wednesday" : print(“วันนี้วันพุธ");break; case "Thursday" : print(" วันนี้วันพฤหัส ทำงานอีกวันก็หยุดแล้ว");break; case "Friday" : print(" วันนี้วันสุดท้ายของการทำงาน");break; default : print(“เฮ.. วันนี้วันหยุด นอนอยู่บ้าน"); } ?> </font> </body> </html> PHP Programming
การทำขั้นตอนซ้ำหรือวนลูป การวนลูปหรือสร้างลูปเพื่อทำงานซ้ำเป็นส่วนประกอบสำคัญของโปรแกรมคอมพิวเตอร์ ในภาษา PHP ก็จะใช้โครงสร้างเหมือนกับภาษาซีประกอบด้วยข้อความสั่งดังต่อไปนี้ while-do loop do-while loop for-loop PHP Programming
ข้อความสั่ง WHILE เป็นข้อความสั่งวนลูปที่ง่ายที่สุดใน PHP โดยการทำการงานจะตรวจสอบเงื่อนไขก่อน ถ้าเงื่อนไขเป็นจริงจะทำข้อความสั่งที่อยู่ในลูป แต่ถ้าเงื่อนไขเป็นเท็จจะออกจากลูป รูปแบบ แบบที่ 1 while(condition) { // statement block. } PHP Programming
รูปแบบข้อความสั่ง WHILE (ต่อ) รูปแบบที่ 2 while(condition) : // statement block. Endwhile ; PHP Programming
ตัวอย่าง <html> <body> <? $size = 1; while ($size<7) { print("<font size=$size face='arial' color=blue>HELLO<br>"); $size++; } ?> </body> </html> PHP Programming
ตัวอย่าง <html> <body> <font size=4 face='arial'> <? $str="A"; while ($str<"Z") { echo $str; $str++; } ?> </font> </body> </html> PHP Programming
ข้อความสั่ง DO...WHILE คล้าย while loop แต่จะทำการตรวจสอบเงื่อนไข ตอนท้าย โดยจะทำงานใน do while ลูป อย่างน้อย 1 ครั้งตอนเริ่มต้นแล้วจึงตรวจสอบเงื่อนไข ถ้าเงื่อนไขจริงจะวนลูปและออกจากลูปเมื่อเงื่อนไขเป็นเท็จ รูปแบบ do { statement ; } while(condition); PHP Programming
ตัวอย่าง <html> <body> <font size=4 face='arial'> <? $a=1; do{ echo $a," "; $a++; }while ($a<=20); print "BREAK OK!"; ?> </font> </body> </html> PHP Programming
ข้อความสั่ง FOR ข้อความสั่ง FOR เป็นข้อความสั่งทำงานเป็นวงรอบ เมื่อจำนวนครั้งที่กระทำเป็นจำนวนจำกัด และเป็นข้อความสั่งวนรอบที่มีความซับซ้อนมากขึ้น รูปแบบข้อความสั่ง for (expr1; expr2; expr3;) statement ; PHP Programming
ตัวอย่าง <html> <body> <font size=4 face='arial'> <? $a=1; for ( $a=1 ; $a<13 ; $a++ ) { echo "2 x $a = ",2*$a , "<br>"; } ?> </font> </body> </html> PHP Programming
ตัวอย่าง <html> <body> <font size=4 face='arial'> <? $str="A"; while ($str<"Z") { echo $str; $str++; } ?> </font> </body> </html> PHP Programming
ข้อความสั่ง break เป็นข้อความสั่งให้ออกจากการทำงานของข้อความสั่ง switch-case หรือออกจากการจากการทำงานในลูป เพื่อให้ไปทำงานยังข้อความสั่งที่อยู่ต่อจากข้อความสั่งที่ให้ทำงานเป็นลูป ในภาษา PHP ข้อความสั่ง break และ continue เป็นข้อความสั่งภายในลูป เหมือนที่ใช้กันในภาษาซี PHP Programming
break.php3 1 2 After the loop: index=3 <? for ($index = 0; $index < 10; $index++) { // A. when $index is three, the loop ends. if ($index == 3) { break; } echo "$index<br>"; // B. After the break, execution starts here. echo "After the loop: index=$index<br>"; ?> 1 2 After the loop: index=3 PHP Programming
3-21.php3 1 2 Loop ended naturally. <? $flg_break_happened = 0; for ($index = 0; $index < 10; $index++) { if ($index == 3) { break; $flg_break_happened = 1; } echo "$index<br>"; if ($flg_break_happened) { echo "Loop ended because of break.<br>"; else { echo "Loop ended naturally.<br>"; ?> 1 2 Loop ended naturally. PHP Programming
<?php for ($row = 0; $row < 10; $row++) { for ($col = 0; $col < 10; $col++) { if ($col == 5) { break 2; } echo "[$row,$col]<br>"; ?> [0,0] [0,1] [0,2] [0,3] [0,4] PHP Programming
ข้อความสั่ง continue เป็นข้อความสั่งที่ให้กลับไปทำยังข้อความสั่งแรกของข้อความสั่งควบคุม for, while, do while ใหม่ PHP Programming