PHP的迴圈
如果某一段程式要重複執行100次,難道我們就把此段程式碼打100次嗎? 這時候,心想如果有個方法能叫電腦自己自動執行100次,然後自己去喝茶休息,多美好。而這個方法就稱為"迴圈"。
1. for迴圈
for迴圈是一最簡單的迴圈使用,它提供以計數器的方式來控制迴圈。for迴圈的運作過程中,會使用某一變數作為存放迴圈執行的次數,透過設定的迴圈變數初始值、圈條件判斷、與變數數值的增減量,來控制迴圈要執行的次數,其中迴圈條件判斷及變數固定數值增加或減少,使用的格式和流程圖如下:
格式
<?php
for(迴圈起始值;迴圈判斷條件;數值增減量){
PHP程式碼;
}
?>
流程圖

計算從1累加到100的總和,使用for迴圈寫出程式
- 計算初始值(1)
- 結束值 (100)
- 數值遞增值 (1)
- 累加總和 (sum)
<?php
$sum = 0;
for($i=1;$i<=100;$i++){
$sum+=$i;
}
echo "for迴圈<br>數字1累加到100結果為".$sum;
?>
執行結果:
for迴圈
數字1累加到100結果為5050
2. while迴圈
While迴圈是一種判斷條件成立才進行迴圈使用的方法,與for迴圈的差別在於其語法中並無初始值與增減量的設定,通常while迴圈會在其程式碼內才做會影響條件判斷的指令。使用方法如下:
格式
<?php
while(迴圈判斷條件){
PHP程式碼;
}
?>
流程圖

以while迴圈,從1累加到100的程式碼
<?php
$sum=0;$i=1;
while($i<=100){
$sum+=$i;
$i++;
}
echo "while迴圈<br>數字1累加到100結果為".$sum;
?>
執行結果:
while迴圈
數字1累加到100結果為5050
3. do while迴圈
do while迴圈與while迴圈相似,差別在於do while迴圈不管事件是否成立,都會先執行一次所指定的程式碼,之後再進行判斷決定是否要繼續執行迴圈,使用方法如下說明:
格式
<?php
do{
PHP程式碼;
}(迴圈判斷條件);
?>
流程圖

程式範例
<?php
$i=1;
do{
echo "do while迴圈執行第".$i."次<br>";
$i++;
}while($i>3);
?>
執行結果:
do while迴圈執行第1次
4. 巢狀迴圈
巢狀迴圈即是一個迴圈內有一個至多個迴圈在裡面,主要用於在多種狀況下且需要再做另外多種情況下的判斷及運算。比如,while迴圈內有一個for迴圈,這即是一種巢狀圈。
程式範例
<?php
$i=1;
while($i<=2)
{
for($j=1;$j<=3;$j++)
{
echo "while迴圈第".$i."次,for迴圈第".$j."次<br>";
}
$i++;
}
?>
執行結果:
while迴圈第1次,for迴圈第1次
while迴圈第1次,for迴圈第2次
while迴圈第1次,for迴圈第3次
while迴圈第2次,for迴圈第1次
while迴圈第2次,for迴圈第2次
while迴圈第2次,for迴圈第3次
5. break 與 continue
break即是在迴圈的執行過程中,強制中斷回圈內執行的程式碼,此方法通常會配合條件判斷來使用。
程式範例
<?php
$i=1;
while($i<=99)
{
echo "while迴圈執行第".$i."次<br>";
if($i == 3)
{
echo "while迴圈break跳出";
break;
}
$i++;
}
?>
執行結果
while迴圈執行第1次
while迴圈執行第2次
while迴圈執行第3次
while迴圈break跳出
continue是可以讓迴圈略過此階段過程,直接執行下一階段迴圈。
程式範例
<?php
for($i=1;$i<=10;$i++)
{
if($i<7)
{
continue;
}
echo "while迴圈執行第".$i."次<br>";
}
?>
執行結果
while迴圈執行第7次
while迴圈執行第8次
while迴圈執行第9次
while迴圈執行第10次
PHP的迴圈
如果某一段程式要重複執行100次,難道我們就把此段程式碼打100次嗎? 這時候,心想如果有個方法能叫電腦自己自動執行100次,然後自己去喝茶休息,多美好。而這個方法就稱為"迴圈"。
1. for迴圈
for迴圈是一最簡單的迴圈使用,它提供以計數器的方式來控制迴圈。for迴圈的運作過程中,會使用某一變數作為存放迴圈執行的次數,透過設定的迴圈變數初始值、圈條件判斷、與變數數值的增減量,來控制迴圈要執行的次數,其中迴圈條件判斷及變數固定數值增加或減少,使用的格式和流程圖如下:
格式
<?php
for(迴圈起始值;迴圈判斷條件;數值增減量){
PHP程式碼;
}
?>
流程圖

計算從1累加到100的總和,使用for迴圈寫出程式
- 計算初始值(1)
- 結束值 (100)
- 數值遞增值 (1)
- 累加總和 (sum)
<?php
$sum = 0;
for($i=1;$i<=100;$i++){
$sum+=$i;
}
echo "for迴圈<br>數字1累加到100結果為".$sum;
?>
執行結果:
for迴圈
數字1累加到100結果為5050
2. while迴圈
While迴圈是一種判斷條件成立才進行迴圈使用的方法,與for迴圈的差別在於其語法中並無初始值與增減量的設定,通常while迴圈會在其程式碼內才做會影響條件判斷的指令。使用方法如下:
格式
<?php
while(迴圈判斷條件){
PHP程式碼;
}
?>
流程圖

以while迴圈,從1累加到100的程式碼
<?php
$sum=0;$i=1;
while($i<=100){
$sum+=$i;
$i++;
}
echo "while迴圈<br>數字1累加到100結果為".$sum;
?>
執行結果:
while迴圈
數字1累加到100結果為5050
3. do while迴圈
do while迴圈與while迴圈相似,差別在於do while迴圈不管事件是否成立,都會先執行一次所指定的程式碼,之後再進行判斷決定是否要繼續執行迴圈,使用方法如下說明:
格式
<?php
do{
PHP程式碼;
}(迴圈判斷條件);
?>
流程圖

程式範例
<?php
$i=1;
do{
echo "do while迴圈執行第".$i."次<br>";
$i++;
}while($i>3);
?>
執行結果:
do while迴圈執行第1次
4. 巢狀迴圈
巢狀迴圈即是一個迴圈內有一個至多個迴圈在裡面,主要用於在多種狀況下且需要再做另外多種情況下的判斷及運算。比如,while迴圈內有一個for迴圈,這即是一種巢狀圈。
程式範例
<?php
$i=1;
while($i<=2)
{
for($j=1;$j<=3;$j++)
{
echo "while迴圈第".$i."次,for迴圈第".$j."次<br>";
}
$i++;
}
?>
執行結果:
while迴圈第1次,for迴圈第1次
while迴圈第1次,for迴圈第2次
while迴圈第1次,for迴圈第3次
while迴圈第2次,for迴圈第1次
while迴圈第2次,for迴圈第2次
while迴圈第2次,for迴圈第3次
5. break 與 continue
break即是在迴圈的執行過程中,強制中斷回圈內執行的程式碼,此方法通常會配合條件判斷來使用。
程式範例
<?php
$i=1;
while($i<=99)
{
echo "while迴圈執行第".$i."次<br>";
if($i == 3)
{
echo "while迴圈break跳出";
break;
}
$i++;
}
?>
執行結果
while迴圈執行第1次
while迴圈執行第2次
while迴圈執行第3次
while迴圈break跳出
continue是可以讓迴圈略過此階段過程,直接執行下一階段迴圈。
程式範例
<?php
for($i=1;$i<=10;$i++)
{
if($i<7)
{
continue;
}
echo "while迴圈執行第".$i."次<br>";
}
?>
執行結果
while迴圈執行第7次
while迴圈執行第8次
while迴圈執行第9次
while迴圈執行第10次




