ในบทความนี้จะสอนถึงการวนลูปในรูปแบบคำสั่ง while บ้างนะครับ ซึ่งในคำสั่ง while loop นี้ได้แบ่งออกเป็นคำสั่ง while และคำสั่ง do .. while() แต่คำสั่ง 2 แบบนี้มีความหมายต่างกันเพียงนิดเดียวเท่านั้นครับ (ซึ่งผมได้กล่าวไว้ในหมวดหมู่ Control Structure ของ PHP แล้วครับ) เราเริ่มไปดูตัวอย่างกันเลยครับ
ตัวอย่างการใช้งานคำสั่ง while()
01.<?php 02.// การแสดงตัวเลขตั้งแต่ 1 ถึง 10 03.$i = 1; 04.while ($i <= 10) { 05. echo "$i "; 06. $i++; 07.} 08.echo "<br />"; 09. 10.// การแสดงตัวเลขตั้งแต่ 1-10 อีกวิธี 11.$i = 1; 12.while (true) { 13. if ($i > 10) { 14. break; 15. } 16. echo "$i "; 17. $i++; 18.} 19.echo "<br />"; 20. 21.// ตัวอย่างการวนลูปเพื่อแสดงแม่สูตรคูณ 22.$i = 2; 23.while ($i <= 12) { 24. $j = 1; 25. while($j <= 12) { 26. echo "$i * $j = " . ($i * $j) . "<br />"; 27. $j++; 28. } 29. echo "<br />"; 30. $i++; 31.} 32.echo "<br />"; 33. 34.?>ตัวอย่างการใช้งานคำสั่ง do ... while()
01.<?php 02.// การแสดงตัวเลขตั้งแต่ 1 ถึง 10 03.$i = 1; 04.do { 05. echo "$i "; 06. $i++; 07.} while ($i <= 10); 08.echo "<br />"; 09. 10.// การแสดงตัวเลขตั้งแต่ 1-10 อีกวิธี 11.$i = 1; 12.do { 13. if ($i > 10) { 14. break; 15. } 16. echo "$i "; 17. $i++; 18.}while (true); 19.echo "<br />"; 20. 21.// ตัวอย่างการวนลูปเพื่อแสดงแม่สูตรคูณ 22.$i = 2; 23.do { 24. $j = 1; 25. do { 26. echo "$i * $j = " . ($i * $j) . "<br />"; 27. $j++; 28. } while($j <= 12) ; 29. echo "<br />"; 30. $i++; 31.} while ($i <= 12) ; 32.echo "<br />"; 33. 34.?>ข้อแตกต่างของ while() กับ do...while()
01.<?php 02./* 03.สมมติในกรณีที่เราต้องการแสดงสูตรคูณตั้งแต่แม่ 12 - 1 04.แต่ผมได้กำหนดให้ค่า $i = 13 05.ซึ่งเราจะเห็นถึงความแตกต่างได้ตรงนี้ครับ 06.*/07. 08.$i = 13; 09.echo "While Loop:<br />"; 10.while(($i >= 0) && ($i <=12)) { 11. $j = 1; 12. while($j <= 12) { 13. echo "$i * $j = " . ($i*$j) . "<br />"; 14. $j++; 15. } 16. echo "<br />"; 17. $i--; 18.} 19. 20.$i = 13; 21.echo "Do While Loop:<br />"; 22.do { 23. $j = 1; 24. do { 25. echo "$i * $j = " . ($i*$j) . "<br />"; 26. $j++; 27. } while($j <= 12); 28. echo "<br />"; 29. $i--; 30.} while(($i >= 0) && ($i <= 12)); 31.?>จะเห็นว่าถ้าเราใช้คำสั่ง do ... while() มันจะเข้าทำงานในบล็อกคำสั่งก่อนแล้วค่อยตรวจสอบเงื่อนไข ซึ่งในกรณีนี้เราได้กำหนดให้ค่า $i = 13 ดังนั้นถ้าใช้คำสั่ง while มันจะทำการตรวจสอบเงื่อนไขก่อนว่า $i มีค่าน้อยกว่าหรือ เท่ากับ 12 หรือไม่ (ไม่เท่า) ดังนั้นมันจึงไม่ทำงานในบล็อกคำสั่ง แต่ถ้าเราใช้คำสั่ง do ... while() มันจะทำงานในบล็อกก่อน แล้วค่อยตรวจสอบเงื่อนไขที่กำหนดไว้
ไม่มีความคิดเห็น:
แสดงความคิดเห็น