PHP For 迴圈
PHP 迴圈 -?For 迴圈
迴圈執(zhí)行程式碼區(qū)塊指定的次數(shù),或指定的條件為真時(shí)循環(huán)執(zhí)行程式碼區(qū)塊。
for 迴圈
#for 迴圈用於您預(yù)先知道腳本需要執(zhí)行的次數(shù)的情況。
for迴圈其實(shí)可以看成是緊湊、簡(jiǎn)潔版的while迴圈
for (expr1; expr2; expr3)
??? statement
#for循環(huán)有三個(gè)表達(dá)式
??????? 第一個(gè)表達(dá)式expr1在循環(huán)開(kāi)始的時(shí)候只執(zhí)行一次
??????? 第二個(gè)表達(dá)式expr2在循環(huán)體的每次循環(huán)開(kāi)始的時(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í)行
?
語(yǔ)法
for (初始值; 條件; 增量)
{
要執(zhí)行的程式碼;
}
參數(shù):
·???????? 初始值:主要是初始化一個(gè)變數(shù)值,用於設(shè)定一個(gè)計(jì)數(shù)器(但可以是任何在循環(huán)的開(kāi)始被執(zhí)行一次的程式碼)。
·???????? 條件:循環(huán)執(zhí)行的限制條件。如果為 TRUE,則循環(huán)繼續(xù)。如果為 FALSE,則循環(huán)結(jié)束。
·???????? 增量:主要用於增加計(jì)數(shù)器(但可是任何在循環(huán)的結(jié)束時(shí)被執(zhí)行的程式碼)。
註解:上面的初始值和增量參數(shù)可為空,或有多個(gè)表達(dá)式(以逗號(hào)分隔)。
實(shí)例
下面的實(shí)例定義一個(gè)初始值為 i=1 的迴圈。只要變數(shù)?i?小於或等於 5,循環(huán)將繼續(xù)運(yùn)作。迴圈每運(yùn)轉(zhuǎn)一次,變數(shù)?i?就會(huì)增加1:
<html> <body> <?php for ($i=1; $i<=5; $i++) { echo "The number is " . $i . "<br>"; } ?> </body> </html>
#回顧while迴圈的程式碼
$num?=?1;
# while?($num?< =?5)?{
? ? echo?$num;
? ? $num++;
}
使用for迴圈的話,可以改為
for?($num?=?1; <=?5;?$num++)?{
? ? echo?$num;
}
因此,在功能方面,可以將for循環(huán)和while循環(huán)視為等價(jià)的
?
foreach 迴圈
#foreach 迴圈用於遍歷陣列。
其實(shí)PHP還有一個(gè)特殊的迴圈語(yǔ)句,這個(gè)迴圈語(yǔ)句是專(zhuān)門(mén)用來(lái)遍歷陣列的
foreach (array_variable as val)
??? statement
array_variable代表一個(gè)數(shù)組變量,在每次循環(huán)執(zhí)行時(shí),每個(gè)元素的值會(huì)被暫時(shí)賦給變量val,statement語(yǔ)句每次獲取到的val的值都不一樣,體會(huì)一下下面的代碼
foreach?($arr?as?$item)?{
? echo?"<"?.?$item?.?">";
#Syntax
#foreach ($array as?$value)
{
要執(zhí)行程式碼;
}
每進(jìn)行一次循環(huán),目前陣列元素的值就會(huì)被賦值為$value 變數(shù)(陣列指標(biāo)會(huì)逐一移動(dòng)),在進(jìn)行下一次循環(huán)時(shí),您將看到數(shù)組中的下一個(gè)值。
實(shí)例
下面的實(shí)例示範(fàn)了一個(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ù)組來(lái)說(shuō),每次循環(huán)中key的值就是從0開(kāi)始子成長(zhǎng)的數(shù)字。
?
break和continue
如果在迴圈的程式碼區(qū)塊中希望停止程式碼的執(zhí)行,我們可以使用break或continue
??????? break 跳出迴圈,並且循環(huán)不再執(zhí)行
??????? continue 跳出當(dāng)前循環(huán),循環(huán)繼續(xù)執(zhí)行,進(jìn)入下一次循環(huán)
這就跟我們下象棋一樣,有些人棋品不好,眼看要輸了,掀了棋盤(pán)不玩了,這就是break。
還有的人心態(tài)很好,眼看要輸了,後面也甭下了,認(rèn)輸再來(lái)一局,這就是continue。