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

PHP開(kāi)發(fā)基礎(chǔ)教學(xué)循環(huán)語(yǔ)句

一、PHP循環(huán)

當(dāng)我們寫(xiě)程式碼時(shí),經(jīng)常需要讓相同的程式碼區(qū)塊一次又一次地重複運(yùn)行。這時(shí)候我們就可以在程式碼中使用循環(huán)語(yǔ)句來(lái)完成這個(gè)任務(wù)。

在PHP 中,提供了下列迴圈語(yǔ)句:

while?- 只要指定的條件成立,則迴圈執(zhí)行程式碼區(qū)塊

do...while?- 首先執(zhí)行一次程式碼區(qū)塊,然後在指定的條件成立時(shí)重複這個(gè)迴圈

for?- 迴圈執(zhí)行程式碼區(qū)塊指定的次數(shù)

foreach?- 根據(jù)陣列中每個(gè)元素來(lái)循環(huán)程式碼區(qū)塊

#二、while迴圈

while 迴圈會(huì)重複執(zhí)行程式碼區(qū)塊,直到指定的條件不成立

語(yǔ)法:

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

我們來(lái)透過(guò)一個(gè)程式碼邏輯圖,認(rèn)識(shí)while迴圈

15.png

先判斷條件是否滿足,滿足的話,一直執(zhí)行大括號(hào)裡面的程式碼,直到條件不滿足時(shí),跳出

實(shí)例1迴圈輸出1到50內(nèi)的整數(shù) :原始碼如下

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

實(shí)例2:輸出一個(gè)1到100的表格,實(shí)作隔行變色功能

首先輸出整個(gè)表格:原始碼如下

<!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" >';//雙引號(hào)外面要套單引號(hào),雙引號(hào)會(huì)報(bào)錯(cuò)
while($i<100){
	 //0 - 9 為一行
        //10 -19 為一行
        //因此,每一行的開(kāi)始都能夠被10求余后為零,如為10的時(shí)候,應(yīng)該顯示行開(kāi)始的標(biāo)簽
	if($i%10==0){
		//為了隔行變色,第2,4,6每行的顏色變過(guò)色的,因此我們又可以再進(jìn)行一次取余運(yùn)算
		if($i%20==0){
			//第1,3,5等行正常輸出
			echo "<tr>";
		}else{
			//第2,4,6等行正常輸出
			echo '<tr bgcolor="pink">';//雙引號(hào)外面要套單引號(hào),雙引號(hào)會(huì)報(bào)錯(cuò)
		}	
	}
		echo "<td>";
		echo $i;
		echo "</td>";
	$i++;
	 //同理,每一行結(jié)束是不是應(yīng)該有一個(gè)</tr>結(jié)束標(biāo)簽?zāi)兀?
	if($i%10==0){
	echo "</tr>";
	
	}
	
}
echo "</table>";
?>   
</body>
</html>

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

註:語(yǔ)句裡面,雙引號(hào)裡面要套單引號(hào),單引號(hào)裡面套雙引號(hào)

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

#語(yǔ)法:do
{
要執(zhí)行的程式碼;
}
while (條件);

l?do...while 語(yǔ)句會(huì)至少執(zhí)行一次程式碼,然後檢查條件,只要條件成立,就會(huì)重複進(jìn)行迴圈

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

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

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

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

當(dāng)然,你還不能理解,實(shí)在想不到應(yīng)用程式場(chǎng)景也沒(méi)關(guān)係,可以完全跳過(guò)此區(qū)塊。

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

四、for 迴圈控制語(yǔ)句

#for 迴圈用於預(yù)先知道腳本需要執(zhí)行的次數(shù)的情況

語(yǔ)法:

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

參數(shù):

  • ?初始值:主要是初始化一個(gè)變數(shù)值,用來(lái)設(shè)定一個(gè)計(jì)數(shù)器(但可以是任何在循環(huán)的開(kāi)始被執(zhí)行一次的程式碼)。

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

  • ?增量:主要用於遞增計(jì)數(shù)器(但可以是任何在迴圈的結(jié)束被執(zhí)行的程式碼)。

註:上面的初始值和增量參數(shù)可為空,或有多個(gè)表達(dá)式(以逗號(hào)分隔)

#實(shí)例:用for迴圈來(lái)輸出1-100。原始碼如下

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

實(shí)例:用for迴圈來(lái)打一下9*9的乘法口訣表吧

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

#註:在程式碼中是橫著輸出的,換行符在每一個(gè)內(nèi)部的for迴圈結(jié)束後執(zhí)行一次

我們來(lái)補(bǔ)充幾個(gè)跳出的異同吧


語(yǔ)句

作用

##exit

exit之前我們講過(guò)了,從目前處停止後續(xù)執(zhí)行

break

#之前曾經(jīng)遇到過(guò),跳出迴圈或跳出結(jié)構(gòu)體執(zhí)行後續(xù)程式碼

#continue

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


#來(lái)看個(gè)例子,原始碼如下:

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

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

#五、foreach迴圈(此處陣列還沒(méi)介紹,可以看完陣列的介紹之後再學(xué)習(xí)本章)

foreach 迴圈用於遍歷陣列

語(yǔ)法為:

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í)例:原始碼如下

<!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++; } ?>
提交重置程式碼