คำสั่ง for อาจกล่าวได้ว่าเป็นคำสั่งพื้นฐานที่สุดในส่วนการควบคุมลูปของ PHP (และในหลายภาษา) กฎการดำเนินการและการใช้งานพื้นฐานของคำสั่ง for จะไม่ถูกกล่าวถึงที่นี่ คุณสามารถดูส่วนคำสั่ง for ได้ ของคู่มือ PHP ไวยากรณ์ของมันถูกกำหนดไว้ในคู่มือ PHP ดังนี้:
for (expr1; expr2; expr3)
เรามาพูดถึงรูปแบบที่มีประโยชน์ต่างๆ ของคำสั่ง for
กัน
ดีกว่า1. Infinite loop
ก่อนอื่นเลย มันคือ infinite loop (หรือที่เรียกว่า "dead loop") ที่ใครๆ ก็รู้จัก เนื่องจากนิพจน์ว่าง null นั้นถูกต้องตามหลักไวยากรณ์ เราจึงสามารถปล่อยนิพจน์ทั้งสามของคำสั่ง for ว่างไว้ได้ ซึ่งจะส่งผลต่อการดำเนินการซ้อนกันอย่างต่อเนื่องสำหรับคำสั่ง
<?php
สำหรับ (;;) {
//วางคำสั่งที่ต้องดำเนินการอย่างต่อเนื่อง
-
?>
แม้ว่าบางงานจะใช้การวนซ้ำแบบไม่มีที่สิ้นสุด แต่งานของโปรแกรมส่วนใหญ่ โดยเฉพาะฟิลด์ที่ PHP สามารถเกี่ยวข้องได้ จะเพิ่มเงื่อนไขบางประการเพื่อยุติการวนซ้ำเมื่อใช้การวนซ้ำแบบไม่มีที่สิ้นสุด
<?php
สำหรับ (;;) {
//หากเป็น 2199 AD ให้แยกออกจากลูป if (date('Y') == '2199') {
หยุดพัก;
-
-
?>
2. ใช้นิพจน์ว่าง
ต่อไป เรามาพูดถึงการใช้ไวยากรณ์ null ในคำสั่งการกำหนดค่าเริ่มต้น expr1 ฟังก์ชันที่พบบ่อยที่สุดในการปล่อยให้ expr1 ว่างไว้คือการทำให้งานการกำหนดค่าเริ่มต้นที่ซับซ้อนมากขึ้นเสร็จสมบูรณ์
<?php
ถ้า (isset($i)) {
ไม่ได้ตั้งค่า($i);
ถ้า ((int) วันที่ ('') < 2008) {
$i = 0;
} อื่น {
$i = 1;
-
} อื่น {
$ผม=3;
}
สำหรับ (;$i < 10;$i++) {
เสียงสะท้อน $i;
-
?>
ในทำนองเดียวกัน นิพจน์การวนซ้ำ expr3 อาจเว้นว่างไว้ได้ นอกจากนี้ยังสามารถใช้เพื่อเขียนการวนซ้ำที่ซับซ้อนมากขึ้น เช่น การเรียกการวนซ้ำที่แตกต่างกันตามเงื่อนไขที่ต่างกัน
การปล่อยให้คำสั่งแบบมีเงื่อนไข expr2 อยู่ในคำสั่ง for ว่างไว้ ถือเป็นการวนซ้ำแบบไม่มีที่สิ้นสุดที่กล่าวถึงข้างต้น แน่นอนว่า คุณยังสามารถเพิ่มเงื่อนไขที่ซับซ้อนมากขึ้นเพื่อกำหนดเวลาที่จะข้ามออกจากการวนซ้ำ ซึ่งจะไม่มีการทำซ้ำที่นี่
3. หลายลูป
การใช้หลายลูปเพื่อควบคุมตัวแปรหลายตัวยังเป็นคุณสมบัติที่มักถูกมองข้ามในคำสั่ง for ดังตัวอย่างด้านล่าง โดยทั่วไปจะใช้การวนซ้ำสองครั้งในงานทั่วไป และการวนซ้ำตั้งแต่สามรอบขึ้นไปมักมีความสำคัญเพียงเล็กน้อย
<?php
สำหรับ ($i = 0, $j = 10;$i <= 10;$i++, $j--) {
เสียงสะท้อน "$i + $j = 10rn";
-
?>
โค้ดด้านบนจะแสดงผล:
0 + 10 = 10
1 + 9 = 10
2 + 8 = 10
3 + 7 = 10
4 + 6 = 10
5 + 5 = 10
6 + 4 = 10
7 + 3 = 10
8 + 2 = 10
9 + 1 = 10
10 + 0 = 10
4. นิพจน์ที่ซับซ้อนยิ่งขึ้น
หากนิพจน์ทั้งสามของคำสั่ง for เขียนซับซ้อนมากขึ้น นิพจน์เหล่านั้นสามารถนำมาใช้สำหรับอัลกอริทึมการปรับให้เหมาะสมได้ คุณยังสามารถใช้คำสั่ง for โดยไม่มีเนื้อหาวนซ้ำเพื่อทำงานบางอย่างให้เสร็จสิ้นได้ ตัวอย่างเช่น ในการคำนวณการสะสมหรือแฟกทอเรียล:
<?php
//คำนวณผลลัพธ์สะสมของ 1-5, bin value ถึง $j
สำหรับ ($i = 1,$j = 0; $i <= 5;$j += $i++);
echo $j;
//คำนวณผลลัพธ์แฟคทอเรียลจาก 1-5, ค่า bin ถึง $j
สำหรับ ($i = 1,$j = 1; $i <= 5;$j *= $i++);
echo $j;
?>
PHP ใช้ไวยากรณ์ของภาษา C และจะมีคุณลักษณะของ C ในระดับหนึ่งด้วย ตัวอย่างเช่น คำสั่ง for loop ที่ทรงพลังก็เป็นตัวอย่างทั่วไป