首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

PHP for 循環語法詳解與實戰示例

     編輯:PHP 綜合知識

語法結構

for 循環適用於已知迭代次數的場景,語法包含三個表達式:

for (初始值; 條件; 增量) {
    // 循環體
}
表達式說明執行時機
初始值初始化計數器,可為多表達式(逗號分隔)循環開始前執行一次
條件布爾判斷,true 繼續,false 結束每次迭代前檢查
增量更新計數器,可為多表達式每次迭代結束後執行

注意:三個表達式均可為空,但分號必須保留。例如無限循環:for (;;) { ... }

基礎示例:輸出 1-5

<?php
for ($i = 1; $i <= 5; $i++) {
    echo "The number is " . $i . "<br>";
}
?>

執行流程分析

  1. $i = 1 初始化
  2. 檢查 $i <= 5 → true
  3. 執行循環體輸出
  4. $i++ 變為 2
  5. 重複 2-4 直到 $i = 6 時條件為 false 結束

輸出結果

The number is 1
The number is 2
The number is 3
The number is 4
The number is 5

進階用法

1. 多計數器控制

// 同時控制兩個變量
for ($i = 0, $j = 10; $i <= 10; $i++, $j--) {
    echo "$i + $j = " . ($i + $j) . "<br>";
}

2. 遍歷數組(不推薦,foreach 更優)

$arr = ['a', 'b', 'c', 'd'];
for ($i = 0, $len = count($arr); $i < $len; $i++) {
    echo $arr[$i] . "<br>";
}

3. 跳過特定迭代

for ($i = 1; $i <= 10; $i++) {
    if ($i % 2 === 0) continue; // 跳過偶數
    echo $i . "<br>"; // 輸出 1,3,5,7,9
}

4. 提前終止循環

for ($i = 1; $i <= 100; $i++) {
    if ($i === 5) break; // 到 5 結束
    echo $i . "<br>";
}

常見陷阱與最佳實踐

❌ 錯誤:條件中使用函數調用導致性能損耗

// 每次迭代都調用 count()
for ($i = 0; $i < count($arr); $i++) { ... }

✅ 正確:預先計算長度

$len = count($arr);
for ($i = 0; $i < $len; $i++) { ... }

❌ 錯誤:修改循環變量導致邏輯混亂

for ($i = 0; $i < 10; $i++) {
    $i = 5; // 破壞循環控制
}

✅ 建議:循環體內避免修改計數器,改用 while 或 break/continue

性能對比

對於數組遍歷,foreach 比 for 更優:

  • 無需手動管理索引
  • 內部優化,訪問鍵值更直接
  • 代碼可讀性更強
// 推薦寫法
foreach ($arr as $key => $value) {
    // ...
}

總結

for 循環是結構化程序設計的基石,掌握其三表達式執行順序、善用 break/continue 控制流程、避免在條件中放置昂貴操作,能寫出高效清晰的迭代邏輯。實際開發中,優先考慮 foreach 遍歷數組,for 保留給需要精確索引控制的場景。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved