person-walking-arrow-loop-leftWhile Loop

จักรินทร์ เมืองหงษ์ 630710317

หลายครั้งที่เวลาเราเขียนโค้ดแล้วอยากจะให้บล็อกของโค้ดที่เราเขียนทำงานวนซ้ำ แทนที่เราจะเขียนโค้ดหลายๆบรรทัด เราจึงใช้ลูป (Loops) ในการแก้ปัญหา

While Loop

คำสั่ง while เป็นคำสั่งวนซ้ำไปเรื่อยๆตราบที่ expression ยังเป็นจริงและจะหยุดทำงานเมื่อมีเงื่อนไขที่เป็นเท็จ

โดยโครงสร้างภาษาของ while loop สามารถเขียนได้สองแบบเป็นดังนี้

แบบที่ 1

while (expr){
    statements
    ...
}
circle-check

แบบที่ 2

while (expr):
    statements
    ...
endwhile;
circle-check

Expression (เงื่อนไข) คือ เป็นตัวเช็คเงื่อนไขว่าเป็นจริงหรือเป็นเท็จเท่านั้น หากเป็นจริงคำสั่งภายในลูปจะถูกดำเนินการ หากเป็นเท็จลูปจะถูกหยุดทำงาน

Statements (คำสั่ง) คือ คำสั่งที่ต้องการจะทำหากเงื่อนไขของลูปเป็นจริง

การทำงานของ while loop สามารถอธิบายได้ตาม flowchart นี้

PHP while loop flowchart

ตัวอย่างโค้ดของ while loop ใน PHP

จากตัวอย่างในโค้ดเป็นการเพิ่มค่าของ i ไปเรื่อยๆจนกว่าค่าของ i ไม่ตรงตามเงื่อนไข โดยเริ่มต้นกำหนดให้ i มีค่าเป็น 1 แล้วเงื่อนไขของ while loop คือ จนกว่า i น้อยกว่าหรือเท่ากับ 10 จากนั้นแสดงผล echoค่าของ i ออกมาและบวกค่าของ i เพิ่มขึ้นอีก 1 i++ เมื่อ i มีค่ามากกว่าหรือเท่ากับ 10 ซึ่งไม่ตรงตามเงื่อนไขก็จะสิ้นสุดการทำงาน

Output

circle-info

ผลลัพธ์ออกมาเหมือนกันทั้งสองแบบ

ความแตกต่างของ While Loop ระหว่างภาษา PHP, C, Java และ Python

ตัวอย่างโค้ดในภาษา PHP, C, Java, Python

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

Output

circle-info

ผลลัพธ์ออกมาเหมือนกันทุกภาษา

โครงสร้างของแต่ละภาษา

ความแตกต่างของแต่ละภาษา

แต่ละภาษามีความแตกต่างกันเพียงเล็กน้อยในเรื่องของ syntax

Syntax: แต่ละภาษามีโครงสร้างที่ต่างกันเล็กน้อย เช่น การใช้วงเล็บ {} ใน PHP, C, และ Java แต่ใน Python จะใช้การย่อหน้า (PHP สามารถใช้ : และ endwhile แทน {} ได้เหมือนกัน

เครื่องหมาย $: ใช้ใน PHP เพื่อระบุว่าเป็นตัวแปร

เครื่องหมายปิดท้ายบรรทัด: Python ไม่ต้องใช้ ; แต่ PHP, C, และ Java ยังต้องใช้

ใน PHP, สัญลักษณ์ <?php ... ?> เรียกว่า PHP tags ใช้สำหรับบอกว่าข้างในเป็นโค้ด PHP ที่ต้องถูกประมวลผลเมื่อเซิร์ฟเวอร์รันไฟล์

Reference

W3Schools. (n.d.). PHP while loop. W3Schools. https://www.w3schools.com/php/php_looping_while.asparrow-up-right

PHP Group. (n.d.). Control structures: while. PHP Manual. https://www.php.net/manual/en/control-structures.while.phparrow-up-right

Tutorials Point. (n.d.). PHP - while loop. Tutorials Point. https://www.tutorialspoint.com/php/php_while_loop.htmarrow-up-right

Python Software Foundation. (n.d.). While statements. Python Documentation. https://docs.python.org/3/reference/compound_stmts.html#whilearrow-up-right

Oracle. (n.d.). The while and do-while statements. The Java Tutorials. https://docs.oracle.com/javase/tutorial/java/nutsandbolts/while.htmlarrow-up-right

Javatpoint. (n.d.). While loop in C. Javatpoint. https://www.javatpoint.com/while-loop-in-carrow-up-right

Video

Slide

file-pdf
783KB

Last updated