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);
?>
while
和 do...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>";
}
?>