3-3 重複執行的迴圈敘述(3-3-1 計次執行的for迴圈敘述)
- 帖子
- 1206
- 主題
- 396
- 精華
- 113
- 積分
- 1747
- 點名
- 1
- 作業系統
- Vista
- 軟體版本
- Office 2003
- 閱讀權限
- 200
- 性別
- 男
- 來自
- 台灣
- 註冊時間
- 2010-5-1
- 最後登錄
- 2026-10-2
      
|
3-3 重複執行的迴圈敘述(3-3-1 計次執行的for迴圈敘述)
3-3 重複執行的迴圈敘述
所謂迴圈(Loop)就是能讓某一段的程式敘述能夠重複執行許多次的流程控制敘述,在本章節中,將介紹數個常用來控制程式的迴圈敘述。 |
|
|
心安,平安
發表任何無意義的感謝或灌水文章一律砍,珍惜帳號,請詳閱版規!!
|
|
|
|
|
- 帖子
- 1206
- 主題
- 396
- 精華
- 113
- 積分
- 1747
- 點名
- 1
- 作業系統
- Vista
- 軟體版本
- Office 2003
- 閱讀權限
- 200
- 性別
- 男
- 來自
- 台灣
- 註冊時間
- 2010-5-1
- 最後登錄
- 2026-10-2
      
|
2#
發表於 2011-4-18 18:12
| 只看該作者
3-3-1 計次執行的for迴圈敘述
當我們知道迴圈必須執行的次數時,for敘述就是最好的迴圈敘述,要使用For-Next敘述就必須使用一個控制變數來決定For-Next敘述要執行的次數,其格式如下:
for迴圈敘述區塊格式- for (計次變數=初值;終止條件;計次變量)
- {
- 敘述區塊;
- }
複製代碼 由上列格式中可得知,for敘述可以幫我們建立一個迴圈,我們只要指定變數起始值、變數的計次變量與終止條件就可以決定迴圈重複的次數。
圖3-7 for敘述流程圖。
例如:- for ($X=0 ; $X<10 ; $X++)
- {
- $Y=$Y+$X;
- }
複製代碼 在上例中,最重要的一個地方就是變數X,它在迴圈中是扮演一個計數器的角色,而計數範圍從0到9,所以在『{…}』中的敘述區塊將會被執行10次,因此我們可對for敘述分析如下。
- 第一次執行迴圈時,變數X被指定為起始值。
- 執行迴圈前,變數X都會先進行是否超過終止值的檢驗,若超過,則結束迴圈,否則就繼續執行迴圈內的敘述。
- 執行過迴圈後,變數X的值將會加上步進值(1)。
提示『$X++』就是「$X=$X+1」的意思,每執行過一次迴圈,變數X的值就會加1。 |
|
|
心安,平安
發表任何無意義的感謝或灌水文章一律砍,珍惜帳號,請詳閱版規!!
|
|
|
|
|
- 帖子
- 1206
- 主題
- 396
- 精華
- 113
- 積分
- 1747
- 點名
- 1
- 作業系統
- Vista
- 軟體版本
- Office 2003
- 閱讀權限
- 200
- 性別
- 男
- 來自
- 台灣
- 註冊時間
- 2010-5-1
- 最後登錄
- 2026-10-2
      
|
3#
發表於 2011-4-18 18:14
| 只看該作者
for敘述不僅可以是遞增迴圈,也可以是遞減增迴圈,其格式如下:
For遞減迴圈敘述區塊格式- for (計次變數=初值;終止條件;負計次變量)
- {
- 敘述區塊;
- }
複製代碼 也就說遞減迴圈for敘述的起始值必須大於終止值,而判斷是否脫離迴圈的敘述就變成:計次變數值 < 終止值,例如:- for ($X=10 ; $X<0 ; $X--)
- {
- $Y=$Y+$X;
- }
複製代碼 for敘述的步進值(Step)的設定,是讓迴圈敘述跳要執行的靈魂,除終止值條件會影響迴圈結果外,步進值(Step)的設定亦十分重要,例如:- for ($X=1 ; $X<10 ; $X+=2)
- {
- $Y=$Y+$X;
- }
複製代碼 請問您:上例for迴圈敘述結束後,變數Y等於多少?絕對不是55喔!
在我們這個例子中,變數X被指定為起始值1,也就說變數X一開始是1,可是每執行一次迴圈後變數X並不是加1喔!而是加2,所以Y=1+3+5+7+9,答案應該是25。 |
|
|
心安,平安
發表任何無意義的感謝或灌水文章一律砍,珍惜帳號,請詳閱版規!!
|
|
|
|
|
- 帖子
- 1206
- 主題
- 396
- 精華
- 113
- 積分
- 1747
- 點名
- 1
- 作業系統
- Vista
- 軟體版本
- Office 2003
- 閱讀權限
- 200
- 性別
- 男
- 來自
- 台灣
- 註冊時間
- 2010-5-1
- 最後登錄
- 2026-10-2
      
|
4#
發表於 2011-4-18 18:15
| 只看該作者
實做學習5:(範例光碟test03_05.php,test03_05_show.php)
讓瀏覽者指定N值,然後計算1x2x……x(N-1)xN,並將計算結果顯示於網頁中。
test03_05_show.php- <?
- $ans=1;
- $num=0;
- if ($_POST["num"] > 0)
- {
- $num=$_POST["num"];
- for ($X=1 ; $X<=$num ; $X++)
- {
- $ans=$ans*$X;
- }
- echo "1乘到 $num 答案是:$ans";
- }
- ?>
複製代碼 我們先將變數ans的值設為1,所以「ans= ans *1*2x…*N-1*N」等於「ans= 1*2*…N-1*N」,因此「ans= 1*2*…N-1*N」就等於「ans= 1」、「ans= ans*2」、「ans= ans*3」…「ans= ans*N」連續運算的結果,所以使用for敘述將是最佳選擇。 |
|
|
心安,平安
發表任何無意義的感謝或灌水文章一律砍,珍惜帳號,請詳閱版規!!
|
|
|
|
|
- 帖子
- 1206
- 主題
- 396
- 精華
- 113
- 積分
- 1747
- 點名
- 1
- 作業系統
- Vista
- 軟體版本
- Office 2003
- 閱讀權限
- 200
- 性別
- 男
- 來自
- 台灣
- 註冊時間
- 2010-5-1
- 最後登錄
- 2026-10-2
      
|
7#
發表於 2011-4-18 18:20
| 只看該作者
實做學習7:
試撰寫一PHP敘述,使網頁中出現下圖之畫面。
圖3-15
test03_08.php- <html>
- <head>
- <title>test03_08</title>
- </head>
- <body>
- <table border="1" width="100%">
- <tr>
- <td width="50%">
- <?
- for ($I=1 ; $I<=5 ; $I++)
- {
- for($J=1 ; $J<=$I ; $J++)
- {
- echo "㊣";
- }
- echo "<BR>";
- }
- ?>
- </td>
- <td width="50%">
- <?
- for ($I=5 ; $I>=1 ; $I--)
- {
- for($J=$I ; $J>=1 ; $J--)
- {
- echo "◎";
- }
- echo "<BR>";
- }
- ?>
- </td>
- </tr>
- </table>
- </body>
- </html>
複製代碼 |
|
|
心安,平安
發表任何無意義的感謝或灌水文章一律砍,珍惜帳號,請詳閱版規!!
|
|
|
|
|
- 帖子
- 4
- 主題
- 1
- 精華
- 0
- 積分
- 13
- 點名
- 0
- 作業系統
- Xp
- 軟體版本
- office 2007 php 5.26
- 閱讀權限
- 10
- 性別
- 男
- 來自
- 台中
- 註冊時間
- 2013-9-12
- 最後登錄
- 2013-10-13
|
8#
發表於 2013-9-12 16:35
| 只看該作者
大家好
我是php初學者
本篇遞減迴圈範例:
<?php
for ($X=10 ; $X<0 ; $X--)
{
$Y=$Y+$X;
}
echo $Y;
?>
做了好幾次都做不出來( 網頁無任何內容 )
請問各位先進, 問題出在哪裡? |
|
|
yyc
|
|
|
|
|