หน้าเว็บ

วันศุกร์ที่ 5 สิงหาคม พ.ศ. 2554

การใช้คำสั่ง do while

          สวัสดีครับ เรามาต่อกันด้วยเรื่องของคำสั่งที่ใช้ในการวนลูปหรือทำงานซ้ำกันต่อเลยนะครับ คำสั่งที่ผมจะแนะนำต่อไปคือ คำสั่ง do while ครับ ซึ่งจะมี วิธีการใช้งานดังต่อไปนี้ครับ

คำสั่ง do while มีรูปแบบดังนี้


          จากรูปแบบของคำสั่ง do while จะเห็นได้ว่าไม่มีการเช็คเงื่อนไขก่อนว่าเป็นจริงหรือเท็จ จะทำคำสั่งต่างๆ ที่ do ก่อน 1 ครั้ง พอจบการทำที่ do แล้วจึงมาเช็คเงื่อนไขที่ while ที่อยู่ด้านล่าง ถ้าเงื่อนไขเป็นจริงก็จะกลับไปทำงานซ้ำอีกครั้งใน do ถ้าเงื่อนไขเป็นเท็จก็จะออกจากลูปไป เห็นไหมครับว่าจริงๆ แล้วคล้ายกับคำสั่ง while ในบท ความที่แล้วไงครับ เพียงแต่ do while นั้นจะทำงานตามคำสั่งที่เราเขียนไว้ก่อนอย่างน้อย 1 ครั้งนั่นเอง ลองมาดูตัวอย่างการใช้งานกันเลยครับ



          อธิบายโปรแกรม จากโค้ดตัวอย่างนี้จะทำให้เห็นว่าเหตุการณ์ในลักษณะแบบนี้จะต้องใช้ do while เข้ามาช่วยเนื่องจากจะมีการรับค่าตัวเลขจากผู้ใช้งานก่อนแล้วจึงไป ตรวจสอบค่าต่อไปซึ่งถ้าค่าที่ผู้ใช้กรอกมาเป็น 0 จทำให้สิ้นสุดการทำงานของลูปทันที ลองนึกภาพถ้าเขียนโดยใช้คำสั่ง while อย่างเดียวนั้นจะทำให้ไม่สามารถรับค่าตัวเลข มาก่อนได้เพราะคำสั่ง while จะมีการเช็คค่าก่อนเข้าลูปนั่นเอง
ผมคิดว่าคำสั่งในบทความนี้ก็ยังถือว่ายังไม่ยากเกินไปนะครับสำหรับผู้เริ่มต้น พยายามลองฝึกฝนเขียนดูนะครับ บทความหน้าก็จะเป็นคำสั่งในการวนลูปที่เป็นคำสั่งสุดท้าย แล้วนะครับ จะเป็นคำสั่งอะไรนั้นให้ติดตามไปดูได้ครับ...


การใช้คำสั่ง for loop

          เมื่อเราผ่านบทเรียนการตรวจสอบเงื่อนไขมาแล้ว (ซึ่งผมเห็นว่าเป็นพื้นฐานของการเขียนโปรแกรม และเข้าใจง่ายกว่าการเขียนคำสั่งวนลูป) มาในบทความนี้ผมจะยกตัวอย่างการวนลูปด้วยคำสั่ง for ให้ผู้อ่านได้ศึกษากันครับ

ตัวอย่างเบื้องต้นของการวนลูปด้วย for

<?php
// การวนลูปเพื่อแสดงตัวเลขตั้งแต่ 1 ถึง 10
for ($i = 1; $i <= 10; $i++) {
 echo "$i ";
}
echo "<br />";

// การวนลูปเพื่อแสดงตัวเลขตั้งแต่ 1-10 อีกวิธีหนึ่ง
$i = 1;
for (; ; ) {
 if ($i > 10) {
  break;
 }
 echo "$i ";
 $i++;
}
echo "<br />";

// ตัวอย่างการประยุกต์ใช้งาน (เป็นการวนลูปแบบเพิ่มค่าทีละ 2
for ($i = 0; $i <= 30; $i += 2) {
 echo "<span style='font-size: {$i}px;'>Example For loop</span><br />";
}
echo "<br />";

// ตัวอย่างแม่สูตรคูณ
for ($i = 2; $i <= 12; $i++) {
 for ($j = 1; $j <= 12; $j++) {
  echo "$i * $j = " . ($i*$j) . "<br />";
 }
 echo "<BR>";
}
?>

ที่มา  :  http://www.basic-skill.com/content.php?cont_title

การใช้คำสั่ง while loop

           ในบทความนี้จะสอนถึงการวนลูปในรูปแบบคำสั่ง while บ้างนะครับ ซึ่งในคำสั่ง while loop นี้ได้แบ่งออกเป็นคำสั่ง while และคำสั่ง do .. while() แต่คำสั่ง 2 แบบนี้มีความหมายต่างกันเพียงนิดเดียวเท่านั้นครับ (ซึ่งผมได้กล่าวไว้ในหมวดหมู่ Control Structure ของ PHP แล้วครับ) เราเริ่มไปดูตัวอย่างกันเลยครับ

ตัวอย่างการใช้งานคำสั่ง while()

<?php
// การแสดงตัวเลขตั้งแต่ 1 ถึง 10
$i = 1;
while ($i <= 10) {
 echo "$i ";
 $i++;
}
echo "<br />";

// การแสดงตัวเลขตั้งแต่ 1-10 อีกวิธี
$i = 1;
while (true) {
 if ($i > 10) {
  break;
 }
 echo "$i ";
 $i++;
}
echo "<br />";

// ตัวอย่างการวนลูปเพื่อแสดงแม่สูตรคูณ
$i = 2;
while ($i <= 12) {
 $j = 1;
 while($j <= 12) {
  echo "$i * $j = " . ($i * $j) . "<br />";
  $j++;
 }
 echo "<br />";
 $i++;
}
echo "<br />";

?>

ตัวอย่างการใช้งานคำสั่ง do ... while()



ที่มา :  http://www.basic-skill.com/content.php
<?php
// การแสดงตัวเลขตั้งแต่ 1 ถึง 10
$i = 1;
do {
 echo "$i ";
 $i++;
} while ($i <= 10);
echo "<br />";

// การแสดงตัวเลขตั้งแต่ 1-10 อีกวิธี
$i = 1;
do {
 if ($i > 10) {
  break;
 }
 echo "$i ";
 $i++;
}while (true);
echo "<br />";

// ตัวอย่างการวนลูปเพื่อแสดงแม่สูตรคูณ
$i = 2;
do {
 $j = 1;
 do {
  echo "$i * $j = " . ($i * $j) . "<br />";
  $j++;
 } while($j <= 12) ;
 echo "<br />";
 $i++;
} while ($i <= 12) ;
echo "<br />";

?>

          จะเห็นว่าถ้าเราใช้คำสั่ง do ... while() มันจะเข้าทำงานในบล็อกคำสั่งก่อนแล้วค่อยตรวจสอบเงื่อนไข ซึ่งในกรณีนี้เราได้กำหนดให้ค่า $i = 13 ดังนั้นถ้าใช้คำสั่ง while มันจะทำการตรวจสอบเงื่อนไขก่อนว่า $i มีค่าน้อยกว่าหรือ เท่ากับ 12 หรือไม่ (ไม่เท่า) ดังนั้นมันจึงไม่ทำงานในบล็อกคำสั่ง แต่ถ้าเราใช้คำสั่ง do ... while() มันจะทำงานในบล็อกก่อน แล้วค่อยตรวจสอบเงื่อนไขที่กำหนดไว้

ที่มา : http://www.basic-skill.com/content.php?cont_title