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