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