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

PHP for 迴圈的進階用法與技巧

     編輯:PHP 相關知識

前言

for 迴圈是 PHP(以及許多其他語言)中最基礎的迴圈控制結構之一。其基本語法與執行規則請參考 PHP 官方手冊。本文將介紹幾種實用的 for 迴圈變體,幫助開發者更靈活地運用迴圈。

1. 無限迴圈

由於三個表達式皆可為空,因此 for (;;) 會產生無限迴圈(又稱死迴圈)。雖然某些任務需要無限迴圈,但在 PHP 典型應用場景中,通常會搭配中斷條件。

<?php
// 基本無限迴圈
for (;;) {
    // 放置需持續執行的語句
}

// 帶中斷條件的無限迴圈
for (;;) {
    // 若年份為 2199 年則跳出
    if (date('Y') == '2199') {
        break;
    }
}
?>

2. 使用空表達式

初始化表達式 (expr1) 留空

將初始化邏輯移至迴圈外部,適用於複雜的初始化需求。

<?php
if (isset($i)) {
    unset($i);
    if ((int)date('') < 2008) {
        $i = 0;
    } else {
        $i = 1;
    }
} else {
    $i = 3;
}

for (; $i < 10; $i++) {
    echo $i;
}
?>

迭代表達式 (expr3) 留空

同樣可將迭代邏輯移至迴圈主體,依條件執行不同的迭代操作。

條件表達式 (expr2) 留空

即為無限迴圈,亦可在迴圈內部加入複雜的中斷判斷。

3. 多重迴圈

在單一 for 宣告中控制多個變數,常見於雙重迴圈,三重以上較少見。

<?php
for ($i = 0, $j = 10; $i <= 10; $i++, $j--) {
    echo "$i + $j = 10 ";
}
?>

輸出結果:

0 + 10 = 10
1 + 9 = 10
2 + 8 = 10
...
10 + 0 = 10

4. 更複雜的表達式

將三個表達式撰寫得更複雜,甚至可省略迴圈主體,直接在表達式中完成運算(如累加、階乘)。

<?php
// 計算 1 到 5 的累加,結果存入 $j
for ($i = 1, $j = 0; $i <= 5; $j += $i++);
echo $j; // 輸出 15

// 計算 1 到 5 的階乘,結果存入 $j
for ($i = 1, $j = 1; $i <= 5; $j *= $i++);
echo $j; // 輸出 120
?>

結語

PHP 繼承了 C 語言的語法,強大的 for 迴圈正是典型代表。善用這些變體能讓程式碼更簡潔、高效。

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