在本教程中,您將學習如何使用PHP中的循環(huán)來重復一系列操作。
只要滿足特定條件,循環(huán)就可以一次又一次地執(zhí)行相同的代碼塊。循環(huán)的基本思想是使程序中的重復任務自動化,以節(jié)省時間和精力。PHP支持四種不同類型的循環(huán)。
while — 只要指定的條件求值為true,就循環(huán)遍歷代碼塊。
do…while — 執(zhí)行一次代碼塊,然后評估條件。如果條件為true,則只要指定條件為true,就重復該語句。
for — 遍歷代碼塊,直到計數(shù)器達到指定的數(shù)字。
foreach — 遍歷數(shù)組中每個元素的代碼塊。
您還將在本章末尾學習如何使用foreach()循環(huán)遍歷數(shù)組的值。foreach()循環(huán)專門用于數(shù)組。
while只要while語句中指定的條件評估為true,該語句將循環(huán)遍歷代碼塊。
while(條件){ //要執(zhí)行的代碼 }
以下示例定義了一個以$i=1開頭的循環(huán)。只要$i小于或等于3 ,循環(huán)將繼續(xù)運行。每次循環(huán)運行,循環(huán)將$i增加1:
<?php $i = 1; while($i <= 3){ $i++; echo "這個數(shù)字是 " . $i . "<br>"; } ?>測試看看?/?
do-while 循環(huán)是while循環(huán)的一種變體,它在每次循環(huán)迭代結束時評估條件。 通過do-while循環(huán),代碼塊執(zhí)行一次,然后對條件進行評估,如果條件為true,則只要指定的條件評估為true,就重復該語句。
do { //要執(zhí)行的代碼 } while(條件);
下面的示例定義了一個以$i=1開始的循環(huán)。然后它將$i加1,并打印輸出。 然后計算條件,只要$i小于或等于3,循環(huán)就會繼續(xù)運行。
<?php $i = 1; do{ $i++; echo "這個數(shù)字是 " . $i . "<br>"; } while($i <= 3); ?>測試看看?/?
while 循環(huán)與do-while 循環(huán)有一個重要的不同之處:while循環(huán)在每次循環(huán)迭代的開始測試要評估的條件,因此,如果條件表達式的計算結果為false,則永遠不會執(zhí)行該循環(huán) 。
另一方面,對于do-while循環(huán),即使條件表達式為false,該循環(huán)也將始終執(zhí)行一次,因為條件是在循環(huán)迭代的末尾而不是開始時求值的。
for 只要滿足特定條件,循環(huán)就會重復執(zhí)行一段代碼。它通常用于執(zhí)行代碼塊一定次數(shù)。
for(initialization;condition;increment){ //要執(zhí)行的代碼 }
for循環(huán)的參數(shù)具有以下含義:
initialization — 它用于初始化計數(shù)器變量,并在第一次執(zhí)行循環(huán)體之前無條件地計算一次。
condition — 在每次迭代的開始,條件被評估。如果計算結果為true,則繼續(xù)循環(huán)并執(zhí)行嵌套語句。如果計算結果為false,則循環(huán)的執(zhí)行結束。
increment — 它用新值更新循環(huán)計數(shù)器。它在每次迭代結束時進行計算。
下面的示例定義了一個以$i=1開始的循環(huán)。該循環(huán)將一直持續(xù)到$i小于或等于3。每次循環(huán)運行時,變量$i都會遞增1:
<?php for($i=1; $i<=3; $i++){ echo "這個數(shù)字是 " . $i . "<br>"; } ?>測試看看?/?
foreach循環(huán)用于遍歷數(shù)組。
foreach($array as $value){ //要執(zhí)行的代碼 }
下面的示例演示一個循環(huán),該循環(huán)將打印給定數(shù)組的值:
<?php $colors = array("Red", "Green", "Blue"); //遍歷顏色數(shù)組 foreach($colors as $value){ echo $value . "<br>"; } ?>測試看看?/?
foreach 循環(huán)還有另外一種語法,它是第一種的擴展。
foreach($array as $key => $value){ //要執(zhí)行的代碼 }
<?php $superhero = array( "name" => "Peter Parker", "email" => "peterparker@mail.com", "age" => 18 ); //遍歷$superhero數(shù)組 foreach($superhero as $key => $value){ echo $key . " : " . $value . "<br>"; } ?>測試看看?/?