PHP For 循環(huán)
PHP 循環(huán) - For 循環(huán)
循環(huán)執(zhí)行代碼塊指定的次數(shù),或者當(dāng)指定的條件為真時(shí)循環(huán)執(zhí)行代碼塊。
for 循環(huán)
for 循環(huán)用于您預(yù)先知道腳本需要運(yùn)行的次數(shù)的情況。
for循環(huán)實(shí)際上可以看作是一個(gè)緊湊、簡潔版的while循環(huán)
for (expr1; expr2; expr3)
statement
for循環(huán)有三個(gè)表達(dá)式
? 第一個(gè)表達(dá)式expr1在循環(huán)開始的時(shí)候只執(zhí)行一次
? 第二個(gè)表達(dá)式expr2在循環(huán)體的每次循環(huán)開始的時(shí)候執(zhí)行,如果執(zhí)行的結(jié)果是true,循環(huán)繼續(xù)進(jìn)行,如果發(fā)現(xiàn)是false,循環(huán)結(jié)束
? 第三個(gè)表達(dá)式expr3在循環(huán)體的每次循環(huán)結(jié)束的時(shí)候執(zhí)行
語法
for (初始值; 條件; 增量)
{
要執(zhí)行的代碼;
}
參數(shù):
· 初始值:主要是初始化一個(gè)變量值,用于設(shè)置一個(gè)計(jì)數(shù)器(但可以是任何在循環(huán)的開始被執(zhí)行一次的代碼)。
· 條件:循環(huán)執(zhí)行的限制條件。如果為 TRUE,則循環(huán)繼續(xù)。如果為 FALSE,則循環(huán)結(jié)束。
· 增量:主要用于遞增計(jì)數(shù)器(但可以是任何在循環(huán)的結(jié)束被執(zhí)行的代碼)。
注釋:上面的初始值和增量參數(shù)可為空,或者有多個(gè)表達(dá)式(用逗號(hào)分隔)。
實(shí)例
下面的實(shí)例定義一個(gè)初始值為 i=1 的循環(huán)。只要變量 i 小于或者等于 5,循環(huán)將繼續(xù)運(yùn)行。循環(huán)每運(yùn)行一次,變量 i 就會(huì)遞增 1:
<html> <body> <?php for ($i=1; $i<=5; $i++) { echo "The number is " . $i . "<br>"; } ?> </body> </html>
回顧while循環(huán)的代碼
$num = 1;
while ($num <= 5) {
echo $num;
$num++;
}
使用for循環(huán)的話,可以改為
for ($num = 1; $num <= 5; $num++) {
echo $num;
}
因此,在功能方面,可以把for循環(huán)和while循環(huán)看作是等價(jià)的
foreach 循環(huán)
foreach 循環(huán)用于遍歷數(shù)組。
實(shí)際上PHP還有一個(gè)特殊的循環(huán)語句,這個(gè)循環(huán)語句是專門用來遍歷數(shù)組的
foreach (array_variable as val)
statement
array_variable代表一個(gè)數(shù)組變量,在每次循環(huán)執(zhí)行時(shí),每個(gè)元素的值會(huì)被臨時(shí)賦給變量val,statement語句每次獲取到的val的值都不一樣,體會(huì)一下下面的代碼
foreach ($arr as $item) {
echo "<" . $item . ">";
}
Syntax
foreach ($array as $value)
{
要執(zhí)行代碼;
}
每進(jìn)行一次循環(huán),當(dāng)前數(shù)組元素的值就會(huì)被賦值給 $value 變量(數(shù)組指針會(huì)逐一地移動(dòng)),在進(jìn)行下一次循環(huán)時(shí),您將看到數(shù)組中的下一個(gè)值。
實(shí)例
下面的實(shí)例演示了一個(gè)輸出給定數(shù)組的值的循環(huán):
<html> <body> <?php $x=array("one","two","three"); foreach ($x as $value) { echo $value . "<br>"; } ?> </body> </html>
foreach還有另外一種用法,定義如下
foreach (array_variable as key => val)
statement
key代表數(shù)組的下標(biāo),val代表數(shù)組的值,那么對(duì)于數(shù)字下標(biāo)數(shù)組來說,每次循環(huán)中key的值就是從0開始子增長的數(shù)字。
break和continue
如果在循環(huán)的代碼塊中希望停止代碼的執(zhí)行,我們可以使用break或者continue
? break 跳出循環(huán),并且循環(huán)不再執(zhí)行
? continue 跳出當(dāng)前循環(huán),循環(huán)繼續(xù)執(zhí)行,進(jìn)入下一次循環(huán)
這就跟我們下象棋一樣,有些人棋品不好,眼看要輸了,掀了棋盤不玩了,這就是break。
還有的人心態(tài)很好,眼看要輸了,后面也甭下了,認(rèn)輸再來一局,這就是continue。