PHP 迴圈

在本教程中,你將學習如何使用 PHP 中的迴圈重複一系列操作。

PHP 中不同型別的迴圈

迴圈用於一次又一次地執行相同的程式碼塊,直到滿足某個條件。迴圈背後的基本思想是自動化程式中的重複任務以節省時間和精力。PHP 支援四種不同型別的迴圈。

  • while - 迴圈遍歷程式碼塊,直到條件評估為 true。
  • do … while - 執行一次程式碼塊然後評估條件。如果條件為真,則只要指定的條件為真,就會重複該語句。
  • for - 迴圈遍歷程式碼塊,直到計數器達到指定的數字。
  • foreach - 迴圈遍歷陣列中每個元素的程式碼塊。

在本章的末尾你還將學習如何使用foreach()來迴圈遍歷陣列的值。 foreach() 特別與陣列迴圈工作相關。

PHP while 迴圈

while 語句將遍歷一段程式碼,直到 while 語句中的條件求值為 true。

while (condition){ // Code to be executed } 

下面的示例定義了一個以 $i=1 開頭的迴圈。只要 $i 小於或等於 3,迴圈將繼續執行。每次迴圈執行時,$i 將增加 1:

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

PHP do...while 迴圈

do-while 迴圈是在每次迴圈迭代的結束計算條件的 while 迴圈變體。使用 do-while 迴圈執行一次程式碼塊,然後計算條件,如果條件為真,則只要指定的條件求值為真,就重複該語句。

do { // Code to be executed } while (condition); 

以下示例定義以 $i=1 開頭的迴圈。然後它將 $i 增加 1,並列印輸出。然後評估條件,並且迴圈將繼續執行,只要 $i 小於或等於 3。

do...while 迴圈示例

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

whiledo...while 迴圈之間的區別

while 迴圈不同於 do-while 的一個重要區別是-一個 while 迴圈,待評估的條件在每次迴圈迭代的開始時進行檢查,因此,如果條件表示式評估為假,該迴圈將永遠不會被執行。

do-while 迴圈,在另一方面,迴圈至少被執行一次,即使條件表示式是假的,因為條件是在迴圈結束後評估,而不是開始的結束評估。

PHP for 迴圈

for 迴圈是直到特定條件被滿足前迴圈重複的程式碼塊。它通常用於執行特定次數的程式碼塊。

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

for 迴圈引數具有以下含義:

  • initialization - 它用於初始化計數器變數,並在第一次執行迴圈體之前無條件地進行一次計算。
  • condition - 在每次迭代開始時,評估條件。如果計算結果為 true ,則迴圈繼續並執行巢狀語句。如果計算結果為 false ,則迴圈的執行結束。
  • increment - 它使用新值更新迴圈計數器。它在每次迭代結束時進行評估。

下面的示例定義了一個以 $i=1 開頭的迴圈。迴圈將持續到 $i 小於或等於 5。 $i 每次迴圈執行時變數將增加 1:

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

PHP foreach 迴圈

foreach 迴圈被用於迭代陣列。

foreach ($array as $value){ // Code to be executed } 

以下示例演示了一個將列印給定陣列值的迴圈:

<?php
$colors = array("Red", "Green", "Blue");
 
// Loop through colors array
foreach($colors as $value){
    echo $value . "<br>";
}
?>

還有一種 foreach 迴圈語法,它是第一種語法的擴充套件。

foreach ($array as $key => $value){ // Code to be executed } 
<?php
$superhero = array(
    "name" => "Peter Parker",
    "email" => "peterparker@mail.com",
    "age" => 18
);
 
// Loop through superhero array
foreach($superhero as $key => $value){
    echo $key . " : " . $value . "<br>";
}
?>