PHP - ประเภทลูป

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

  • for - วนซ้ำบล็อกรหัสตามจำนวนครั้งที่ระบุ

  • while - วนซ้ำบล็อกของรหัสหากและตราบใดที่เงื่อนไขที่ระบุเป็นจริง

  • do...while - วนซ้ำบล็อกของรหัสหนึ่งครั้งจากนั้นทำซ้ำการวนซ้ำตราบเท่าที่เงื่อนไขพิเศษเป็นจริง

  • foreach - วนซ้ำบล็อกของรหัสสำหรับแต่ละองค์ประกอบในอาร์เรย์

เราจะพูดคุยเกี่ยวกับ continue และ break คำหลักที่ใช้ในการควบคุมการทำงานของลูป

คำสั่ง for loop

คำสั่ง for ใช้เมื่อคุณทราบจำนวนครั้งที่คุณต้องการเรียกใช้คำสั่งหรือบล็อกของคำสั่ง

ไวยากรณ์

for (initialization; condition; increment){
   code to be executed;
}

ตัวเริ่มต้นใช้เพื่อตั้งค่าเริ่มต้นสำหรับตัวนับของจำนวนการวนซ้ำ อาจมีการประกาศตัวแปรที่นี่เพื่อจุดประสงค์นี้และเป็นแบบดั้งเดิมที่จะตั้งชื่อว่า $ i

ตัวอย่าง

ตัวอย่างต่อไปนี้ทำการวนซ้ำห้าครั้งและเปลี่ยนค่าที่กำหนดของสองตัวแปรในแต่ละรอบของลูป -

<html>
   <body>
      
      <?php
         $a = 0;
         $b = 0;
         
         for( $i = 0; $i<5; $i++ ) {
            $a += 10;
            $b += 5;
         }
         
         echo ("At the end of the loop a = $a and b = $b" );
      ?>
   
   </body>
</html>

สิ่งนี้จะให้ผลลัพธ์ดังต่อไปนี้ -

At the end of the loop a = 50 and b = 25

คำสั่ง while loop

คำสั่ง while จะดำเนินการบล็อกโค้ดหากและตราบใดที่นิพจน์ทดสอบเป็นจริง

หากนิพจน์ทดสอบเป็นจริงบล็อกโค้ดจะดำเนินการ หลังจากโค้ดดำเนินการแล้วนิพจน์ทดสอบจะถูกประเมินอีกครั้งและลูปจะดำเนินต่อไปจนกว่านิพจน์ทดสอบจะพบว่าเป็นเท็จ

ไวยากรณ์

while (condition) {
   code to be executed;
}

ตัวอย่าง

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

<html>
   <body>
   
      <?php
         $i = 0;
         $num = 50;
         
         while( $i < 10) {
            $num--;
            $i++;
         }
         
         echo ("Loop stopped at i = $i and num = $num" );
      ?>
      
   </body>
</html>

สิ่งนี้จะให้ผลลัพธ์ดังต่อไปนี้ -

Loop stopped at i = 10 and num = 40

คำสั่ง do ... while loop

คำสั่ง do ... while จะดำเนินการบล็อกโค้ดอย่างน้อยหนึ่งครั้ง - จากนั้นจะวนซ้ำตราบเท่าที่เงื่อนไขเป็นจริง

ไวยากรณ์

do {
   code to be executed;
}
while (condition);

ตัวอย่าง

ตัวอย่างต่อไปนี้จะเพิ่มค่าของ i อย่างน้อยหนึ่งครั้งและจะเพิ่มตัวแปร i ต่อไปตราบเท่าที่มีค่าน้อยกว่า 10 -

<html>
   <body>
   
      <?php
         $i = 0;
         $num = 0;
         
         do {
            $i++;
         }
         
         while( $i < 10 );
         echo ("Loop stopped at i = $i" );
      ?>
      
   </body>
</html>

สิ่งนี้จะให้ผลลัพธ์ดังต่อไปนี้ -

Loop stopped at i = 10

คำสั่ง foreach loop

คำสั่ง foreach ใช้ในการวนซ้ำอาร์เรย์ สำหรับการส่งผ่านแต่ละครั้งค่าขององค์ประกอบอาร์เรย์ปัจจุบันจะถูกกำหนดให้เป็นค่า $ และตัวชี้อาร์เรย์จะถูกย้ายไปทีละรายการและในองค์ประกอบถัดไปจะถูกประมวลผล

ไวยากรณ์

foreach (array as value) {
   code to be executed;
}

ตัวอย่าง

ลองใช้ตัวอย่างต่อไปนี้เพื่อแสดงรายการค่าของอาร์เรย์

<html>
   <body>
   
      <?php
         $array = array( 1, 2, 3, 4, 5);
         
         foreach( $array as $value ) {
            echo "Value is $value <br />";
         }
      ?>
      
   </body>
</html>

สิ่งนี้จะให้ผลลัพธ์ดังต่อไปนี้ -

Value is 1
Value is 2
Value is 3
Value is 4
Value is 5

คำสั่งแบ่ง

PHP break คีย์เวิร์ดใช้เพื่อยุติการทำงานของลูปก่อนกำหนด

breakคำสั่งตั้งอยู่ภายในบล็อกคำสั่ง ช่วยให้คุณควบคุมได้เต็มที่และเมื่อใดก็ตามที่คุณต้องการออกจากวงคุณสามารถออกมาได้ หลังจากออกมาจากคำสั่งลูปทันทีไปยังลูปจะถูกดำเนินการ

ตัวอย่าง

ในตัวอย่างการทดสอบเงื่อนไขต่อไปนี้จะกลายเป็นจริงเมื่อค่าตัวนับถึง 3 และลูปสิ้นสุดลง

<html>
   <body>
   
      <?php
         $i = 0;
         
         while( $i < 10) {
            $i++;
            if( $i == 3 )break;
         }
         echo ("Loop stopped at i = $i" );
      ?>
   
   </body>
</html>

สิ่งนี้จะให้ผลลัพธ์ดังต่อไปนี้ -

Loop stopped at i = 3

คำสั่งดำเนินการต่อ

PHP continue คำหลักใช้เพื่อหยุดการวนซ้ำปัจจุบันของลูป แต่ไม่ได้ยุติการวนซ้ำ

เช่นเดียวกับ break แถลงการณ์ continueคำสั่งตั้งอยู่ภายในบล็อกคำสั่งที่มีรหัสที่ลูปรันนำหน้าด้วยการทดสอบตามเงื่อนไข สำหรับการเผชิญหน้าผ่านcontinue คำสั่งส่วนที่เหลือของรหัสลูปจะถูกข้ามไปและพาสถัดไปจะเริ่มขึ้น

ตัวอย่าง

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

<html>
   <body>
   
      <?php
         $array = array( 1, 2, 3, 4, 5);
         
         foreach( $array as $value ) {
            if( $value == 3 )continue;
            echo "Value is $value <br />";
         }
      ?>
   
   </body>
</html>

สิ่งนี้จะให้ผลลัพธ์ดังต่อไปนี้ -

Value is 1
Value is 2
Value is 4
Value is 5