国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

PHP開發(fā)基礎(chǔ)教程之循環(huán)語句

一、PHP循環(huán)

在我們編寫代碼時,經(jīng)常需要讓相同的代碼塊一次又一次地重復(fù)運行。這時候我們就可以在代碼中使用循環(huán)語句來完成這個任務(wù)。

在 PHP 中,提供了下列循環(huán)語句:

while?- 只要指定的條件成立,則循環(huán)執(zhí)行代碼塊

do...while?- 首先執(zhí)行一次代碼塊,然后在指定的條件成立時重復(fù)這個循環(huán)

for?- 循環(huán)執(zhí)行代碼塊指定的次數(shù)

foreach?- 根據(jù)數(shù)組中每個元素來循環(huán)代碼塊

二、while循環(huán)

while 循環(huán)將重復(fù)執(zhí)行代碼塊,直到指定的條件不成立

語法:

while (條件)
{
要執(zhí)行的代碼;
}

我們來通過一個代碼邏輯圖,認(rèn)識一下while循環(huán)

15.png

首先判斷條件是否滿足,滿足的話,一直執(zhí)行大括號里面的代碼,直到條件不滿足時,跳出

實例1循環(huán)輸出1到50內(nèi)的整數(shù):源代碼如下

<?php
$i=1;
while($i<=50){
	echo $i."&nbsp";
	$i++;
}
?>

實例2:輸出一個1到100的表格,實現(xiàn)隔行變色功能

首先輸出整個表格:源碼如下

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php.cn</title>
</head>
<body>
 <?php
//定義循環(huán)的初始值
$i=0;
//輸出表格
echo '<table width="800" border="1" >';//雙引號外面要套單引號,雙引號會報錯
while($i<100){
	 //0 - 9 為一行
        //10 -19 為一行
        //因此,每一行的開始都能夠被10求余后為零,如為10的時候,應(yīng)該顯示行開始的標(biāo)簽
	if($i%10==0){
		//為了隔行變色,第2,4,6每行的顏色變過色的,因此我們又可以再進行一次取余運算
		if($i%20==0){
			//第1,3,5等行正常輸出
			echo "<tr>";
		}else{
			//第2,4,6等行正常輸出
			echo '<tr bgcolor="pink">';//雙引號外面要套單引號,雙引號會報錯
		}	
	}
		echo "<td>";
		echo $i;
		echo "</td>";
	$i++;
	 //同理,每一行結(jié)束是不是應(yīng)該有一個</tr>結(jié)束標(biāo)簽?zāi)兀?
	if($i%10==0){
	echo "</tr>";
	
	}
	
}
echo "</table>";
?>   
</body>
</html>

注:表格部分只是請參考HTML課程的相關(guān)部分

注:語句里面,雙引號里面要套單引號,單引號里面套雙引號

三、do...while循環(huán)

語法:do
{
要執(zhí)行的代碼;
}
while (條件);

l?do...while 語句會至少執(zhí)行一次代碼,然后檢查條件,只要條件成立,就會重復(fù)進行循環(huán)

l?do...while與while的區(qū)別是,它們的值的檢查時機不同。

l?do-while 不論while判斷是否成立,先執(zhí)行一次代碼代碼塊循環(huán)語句,保證會執(zhí)行一次(表達(dá)式的真值在每次循環(huán)結(jié)束后檢查)。
然而我們之前的while循環(huán)會檢查布爾判斷區(qū)域,成立則執(zhí)行。不成立則不執(zhí)行。

<?php
$i = 0;
do {
   echo $i;
} while ($i > 0);
?>

上面代碼中,$i 肯定不大于0,也執(zhí)行了。

當(dāng)然,你還不能理解,實在想不到應(yīng)用場景也沒關(guān)系,可以完全跳過此塊。

do...while用的情況比較少。我們有可能用在資源處理如:文件打開等地方。

四、for 循環(huán)控制語句

for 循環(huán)用于預(yù)先知道腳本需要運行的次數(shù)的情況

語法:

for (初始值; 條件; 增量)
{
要執(zhí)行的代碼;
}

參數(shù):

  • ?初始值:主要是初始化一個變量值,用于設(shè)置一個計數(shù)器(但可以是任何在循環(huán)的開始被執(zhí)行一次的代碼)。

  • ?條件:循環(huán)執(zhí)行的限制條件。如果為 TRUE,則循環(huán)繼續(xù)。如果為 FALSE,則循環(huán)結(jié)束。

  • ?增量:主要用于遞增計數(shù)器(但可以是任何在循環(huán)的結(jié)束被執(zhí)行的代碼)。

注:上面的初始值和增量參數(shù)可為空,或者有多個表達(dá)式(用逗號分隔)

實例:用for循環(huán)來輸出1-100。源碼如下

<?php
for($i=1;$i<=50;$i++){
	echo $i."&nbsp";
}
?>

實例:用for循環(huán)來打一下9*9的乘法口訣表吧

<?php
//99乘法口訣表從1開始,所以聲明一個變量$i = 1,讓$i小于10,也就是最大值為9
for($i=1;$i<=9;$i++){
	//1x1=1,2x2等于4,所以第二次循環(huán)的最大值為$i的值,因此$j=1, $j在循環(huán)自加的過程當(dāng)中,只能夠小于等于$i
	for($j=1;$j<=$i;$j++){
		echo $i."x".$j."=".$i*$j.'&nbsp;&nbsp;&nbsp;';
	}
	//每行結(jié)束輸出一個換行
	echo "<br/>";
}
?>

注:在代碼中是橫著輸出的,換行符在每一個內(nèi)部的for循環(huán)結(jié)束后執(zhí)行一次

我們來補充一下幾個跳出的異同吧


語句

作用

exit

exit之前我們講過了,從當(dāng)前處停止后續(xù)執(zhí)行

break

之前遇到過,跳出循環(huán)或者跳出結(jié)構(gòu)體執(zhí)行后續(xù)代碼

continue

跳出此次循環(huán),下次循環(huán)繼續(xù)


來看個例子,源碼如下:

<?php
for ($i = 1; $i <= 10; $i++) {
    if($i == 4){
            //待會兒換成contiune試試
            break;
    }
    echo '學(xué)習(xí)PHP的第'.$i.'天,加油<br />';
}
?>

將break換成continue,查看結(jié)果試試:(第4行丟失,其他行正常輸出)

五、foreach循環(huán)(此處數(shù)組還沒有介紹,可以看完數(shù)組的介紹之后再學(xué)習(xí)本章)

foreach 循環(huán)用于遍歷數(shù)組

語法為:

foreach ($array?as?$value)
{
要執(zhí)行代碼;
}

每進行一次循環(huán),當(dāng)前數(shù)組元素的值就會被賦值給 $value 變量(數(shù)組指針會逐一地移動),在進行下一次循環(huán)時,您將看到數(shù)組中的下一個值

實例:源代碼如下

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php.cn</title>
<body>
<?php
$x=array(1,2,3,4);
foreach ($x as $value)
{
echo $value . "<br>";
}
?>
</body>
</html>
繼續(xù)學(xué)習(xí)
||
<?php $i=1; while($i<=50){ echo $i." "; $i++; } ?>
提交重置代碼