PHP與MySQL 入門學習指南

Similar documents
Visual C# 2005程式設計

Microsoft PowerPoint - STU_C_Lang_CH05

Microsoft PowerPoint - FS720-Ch06.ppt

1998目录.mdi

Microsoft Word - Chap05.doc

840 提示 Excel - Excel -- Excel (=) Excel ch0.xlsx H5 =D5+E5+F5+G5 (=) = - Excel 00

Microsoft Word - 透析8051之迴圈控制方法.doc

Microsoft PowerPoint - 06_迴圈2.pptx

編寫 ActionScript 的位置 2 時間軸上 ( Timeline ) 好比導演可指示各演員該如何動作 先點選某一個影格 ( Frame ), 再按 F9 開啟 動作 影格, 再撰寫程式 元件上 好比個別演員本身各要表演的動作 先點選場景上某一元件, 再按 F9 開啟 動作 影片片段 或 動

佐證資料

星星排列 _for loop Protected Sub Page_Load(ByVal sender As Object, ByVal e As Dim h As Integer = 7 'h 為變數 ' Dim i, j As Integer For i = 1 To h

Viu_Cover

Microsoft PowerPoint - The Twelve Days of Xmas.ppt

Microsoft Word - Chap05.doc

合 作 就 是 力 量 得 獎 者 : 張 毓 婷 指 導 老 師 : 李 郁 棻 一 塊 香 甜 又 酥 脆 的 餅 乾 屑 掉 在 地 上, 首 先 出 來 偵 查 的 螞 蟻 並 不 自 己 獨 佔, 反 而 伸 伸 觸 角, 將 美 食 的 訊 息 告 知 其 他 螞 蟻, 不 久 螞 蟻

untitled

天仁期末個人報告1.PDF

If Close[Length]!= 0 Then B Close[Length] 是 Length 日前的 Close 不是 0 的話則執行 B % Number 以 Divisor 來求取除法並傳回剩下的部份和 Divisor 具備相同的符 號 格式 :Number % Divisor Numb

Microsoft Word - PHP7Ch01.docx

01

ACI pdf

目 录 第 一 部 分 档 案 局 概 况 一 主 要 职 责 二 部 门 决 算 单 位 构 成 第 二 部 分 档 案 局 2016 年 度 部 门 预 算 表 一 2016 年 度 市 级 部 门 收 支 预 算 总 表 二 2016 年 度 市 级 部 门 支 出 预 算 表 三 2016

2015 年 度 收 入 支 出 决 算 总 表 单 位 名 称 : 北 京 市 朝 阳 区 卫 生 局 单 位 : 万 元 收 入 支 出 项 目 决 算 数 项 目 ( 按 功 能 分 类 ) 决 算 数 一 财 政 拨 款 一 一 般 公 共 服 务 支 出 二

Java 程式設計初階 第 5 章:基本輸出入 & 流程控制

Microsoft Word - AEL0124-CH05

Spyder Anaconda Spyder Python Spyder Python Spyder Spyder Spyder 開始 \ 所有程式 \ Anaconda3 (64-bit) \ Spyder Spyder IPython Python IPython Sp

######## First set of commands x <- 0.5; y <- 0 if (x>3) y <- 1 else y <- 2 ######## Second set of commands x <- 0.5; y <- 0 if (x>3) y <- 1 else ###

PowerPoint プレゼンテーション

非 洲 之 心 與 來 自 北 美 的 成 功 商 人 正 在 合 作 開 發 迦 南 美 地, 他 們 和 來 自 肯 亞 史 瓦 濟 蘭 的 傑 出 經 驗 豐 富 且 受 過 教 育 的 業 務 人 員 一 起 工 作, 一 同 創 造 一 個 獨 特 的 量 身 訂 造 的 組 織, 去 滿

里 再 说 吓 唬 了 孩 子, 肯 定 方 宁 不 忍 所 以 她 不 死 便 罢, 倘 若 死, 只 有 到 办 公 室 沈 若 鱼 冷 静 得 好 像 在 评 点 某 一 电 视 剧 中 的 女 主 角 你 说 她 是 怎 么 死 的? 先 生 又 感 惊 骇 吃 安 眠 药 沈 若 鱼 成

我眼中的好老师

Microsoft Word - 6.doc

Microsoft PowerPoint - Chapter4

Microsoft PowerPoint - EmbSys101_Java Basics.ppt [相容模式]

Viu_Cover

填 写 要 求 1. 以 word 文 档 格 式 如 实 填 写 各 项 2. 表 格 文 本 中 外 文 名 词 第 一 次 出 现 时, 要 写 清 全 称 和 缩 写, 再 次 出 现 时 可 以 使 用 缩 写 3. 本 表 栏 目 未 涵 盖 的 内 容, 需 要 说 明 的, 请 在

untitled

(京)新登字063号

<img>

p.2 1 <HTML> 2 3 <HEAD> 4 <TITLE> </TITLE> 5 </HEAD> 6 7 <BODY> 8 <H3><B> </B></H3> 9 <H4><I> </I></H4> 10 </BODY> </HTML> 1. HTML 1. 2.

0 0 = 1 0 = 0 1 = = 1 1 = 0 0 = 1

PowerPoint 簡報

壹 課程說明 單元名稱 C 語言 : 流程控制 單元摘要 本單元重點為介紹程式語言之選擇與重複敘述等流程控制結構, 並培養學 生具備正確使用流程控制語法的能力 設計者林光耀教師 ( 國立鳳新高中 ) 學習目標 課綱範圍 教學節數 8 先備知識 評量方法 參考資源 1. 能說明選擇敘述的功能, 及其在

<4D F736F F D A67EA977B4C1A5BFA6A1A6D2B8D5B3F8A6D2C2B2B3B92E646F6378>

Python_02

附 件 :2015 年 度 普 通 高 等 学 校 本 科 专 业 备 案 和 审 批 结 果 教 育 部 2016 年 2 月 16 日 抄 送 : 国 家 发 展 改 革 委 财 政 部 国 家 卫 生 计 生 委 国 家 中 医 药 管 理 局 部 内 发 送 : 有 关 部 领 导, 办 公

輕鬆學 Dreamweaver CS5 網頁設計..\Example\Ch0\ \.html..\example\ch0\ \mouse.txt..\example\ch0\ \ _Ok.html 學習重點 JavaScript 複製程式碼 mouse.txt Ctrl+C Ctrl+C 0-4

乐 海 广 告

Microsoft PowerPoint - C-Ch10.ppt

A-1 HTML A-1-1 HTML 1 HTML JSP HTML HTML HTML JSP A HTML HTML HTML HTML HTML HTML HTML HTML.htm.html HTML Windows NotePad HTML IE [ / ] NotePad A-2

Python a p p l e b e a r c Fruit Animal a p p l e b e a r c 2-2

CU0594.pdf

新 春 感 恩 崇 拜 请 安 静 默 祷 预 备 心 来 敬 拜 1. 序 乐 林 俐 姐 妹 2. 默 祷 肃 静 诗 会 众 3. 宣 召 傅 正 毅 弟 兄 4. 敬 拜 傅 正 毅 弟 兄 5. 祷 告 黄 诗 豪 长 老 6. 启 应 诗 篇 116: 1-19 会 众

Microsoft PowerPoint - ch04_AEL0080.ppt

Chapter V.S. PC

untitled

主程式 : public class Main3Activity extends AppCompatActivity { ListView listview; // 先整理資料來源,listitem.xml 需要傳入三種資料 : 圖片 狗狗名字 狗狗生日 // 狗狗圖片 int[] pic =new

Microsoft PowerPoint - P766Ch09.ppt

Progperl.PDF

Microsoft PowerPoint - 07b1 Max and Sum.ppt [相容模式]

Microsoft Word - 認識減重手術 注意後遺症.doc

RUN_PC連載_10_.doc

圣 餐 主 日 请 安 静 默 祷 预 备 心 来 敬 拜 1. 序 乐 庄 淑 娴 师 母 2. 默 祷 肃 静 诗 会 众 3. 宣 召 傅 正 毅 弟 兄 4. 敬 拜 傅 正 毅 弟 兄 5. 祷 告 郑 德 祥 弟 兄 6. 启 应 诗 篇 144:1-15 会 众 7.

Microsoft PowerPoint - ch11.ppt

Microsoft PowerPoint - Fig03_Stack.ppt [相容模式]

Microsoft PowerPoint - Raptor-FlowChart-scy.pptx

Chap 1 Intro to computers and the Fortran language

Microsoft Word - C語言講義--完整版.doc

Microsoft PowerPoint - VB14.ppt

untitled


Microsoft Word - ch03.doc

Microsoft Word - _m30.doc

Microsoft Word - CPMidTerm2010SpringSolution

Excel VBA Excel Visual Basic for Application

Lek Yuen General Out-Patient Clinic 9 ( : ) G/F, Lek Yuen Health Centre, 9 Lek Yuen Street, Shatin (Tel ) Monday to Friday Saturday

編 者 的 話 甄 選 改 變 大 學 與 高 中 職 校 園 亞 洲 國 家 強 調 以 筆 試 作 為 重 要 入 學 憑 據, 歐 美 國 家 則 傾 向 學 校 選 學 生 和 學 生 選 科 系 以 美 國 史 丹 佛 大 學 為 例, 全 面 採 取 個 人 申 請 入 學 制, 每 年

一、

PowerPoint 簡報

济南大学计算机科学与技术专业发展规划

1:30 PM Site Visit 参 观 1 Session 4 课 程 4 Session 6 课 程 6 Site visit 参 观 2 Hotel Check-in and have a brief ur of downwn Vancouver 入 住 酒 店, 简 单 参 观 温 哥

2. 參考網站 C 語言考古題 & C 的解題 程式設計學習入門 ( 網址 : c.blogspot.com/) 網站 : 星子 ACM 小窩 ( 網址 : 網站 :ACM Onli

台北好客講堂

Microsoft Word - Final Exam Review Packet.docx

福 建 福 州 市 长 乐 市 电 视 机 影 音 及 配 件 产 品 小 家 电 产 品 长 乐 市 吴 航 洪 鸣 家 用 电 器 维 修 店 长 乐 市 西 洋 北 路 69 号 福 建 福 州 市 平 潭 县 电 视 机 影 音 及 配 件

Microsoft PowerPoint - SAGE 2010

如何提升學生的創造力? (陳惠芳)

Microsoft Word - Mail2000_SecurityPatch_

2. 论 痘 疹 受 病 之 由 2.1. 夫 小 儿 在 胎 之 时. 乃 母 五 脏 之 液 所 养 成 形 也. 其 母 不 知 禁 戒. 纵 情 浓 味. 好 啖 辛 酸. 或 食 毒 物. 其 气 传 于 胞 胎 之 中. 此 毒 发 为 疮 疹. 名 曰 三 秽 液 毒. 一 五 脏 六

最新执法工作手册(九十八)

Microsoft Word - CPMidTerm2011SpringSolution

原稿0616.indd

¥¼©R¦W-5

2014教师资格证考试《中学综合素质》仿真模拟题(4)

HTML5 & CSS3 色彩 背景與漸層屬性 12-1 (color property) CSS 3 color HTML opacity HTML CSS Color Module Level 3 W3C CSS

SEC-220

5( " &$"" & & #! # # # # # # # # # # $ % & &( )( # # # *+,-,.. /012 # # "" # 3 % # # # # # ) &$"4 # # # # # # # # # # # # &$"! # & # ""!

Microsoft Word - DataStruct-981.doc

Microsoft Word - 第2章 遺傳.doc

2016 勒索軟體白皮書

Transcription:

資訊管理學系 授課教師 : 黃元巨博士

第 12 章迴圈指令

本章大綱 12 1 FOR 迴圈 12 2 巢狀 FOR 迴圈 12 3 FOREACH 迴圈 12 4 WHILE 迴圈 12 5 BREAK 12 6 CONTINUE 問題與討論

12 1 FOR 迴圈 使用迴圈指令來解決重複計算的問題 已知迴圈的起始值及終止值, 或已知需要的迴圈次數時, 我們會使用 FOR 指令 格式如下 : for ( 起始值 ; 迴圈判斷條件 ; 增減值 ) { 迴圈敘述 } 起始值是在 for 指令一開始時設定所需指標變數或運算的值 - 迴圈判斷條件是用來判斷 for 迴圈是否要繼續執行的依據 依增減值改變變數內容

1: <html> 2: <title>for 迴圈 </title> 3: <body> 4: <?php 5: for ($A = 0 ; $A<=10 ; $A++) { 6: echo "$A " ; 7: echo "<br>" ; 8: } 9:?> 10: </body> 11: </html> 第 5 行 for 迴圈起始值為 $A=0, 迴圈判斷條件是 $A<=10, 增減值為 $A++ 第 6-7 行為迴圈敘述, 顯示 $A 的內容 第 8 行迴圈結束

1: <html> 2: <title> 遞減迴圈 </title> 3: <body> 4: <?php 5: for ($A = 10 ; $A>=0 ; $A--) 6: echo "$A <br>" ; 7:?> 8: </body> 9: </html> 遞減範例 $A 起始值設為 10, 每次迴圈 $A 減 1, 直到判斷條件 $A>=0 不成立為止

1: <html> 2: <title> 迴圈應用 </title> 3: <body> 4: <?php 5: $Week[0] = "Sunday" ; // 設定陣列 Week 的內容 6: $Week[1] = "Monday" ; 7: $Week[2] = "Tuesday" ; 8: $Week[3] = "Wednesday" ; 9: $Week[4] = "Thursday" ; 10: $Week[5] = "Friday" ; 11: $Week[6] = "Saturday" ; 12:?> 13: <table border=5 width=560> 14: <tr> 15: <?php 16: for ($A=0 ; $A <=6; $A++) 17: echo "<td width=80>$week[$a]</td> " ; 18:?> 19: </tr> 20: </table> 21: </body> 22: </html> 程式的第 5-11 行設定陣列的內容 第 13-14 行是一個 HTML 標籤, 表示一個表格的開始, 並且設定表格的屬性邊線 (border) 的寬度為 5, 表格的總寬度為 560 <tr> 表示表格中一列的開始 第 16 行設定一個迴圈使得 $A 由 0 到 6 第 17 行 <td> 表示表格中一個欄位的開始, 並設定欄位的寬度為 80, 然後顯示 $Week 陣列的內容 $A 的值由 0 開始, 所以先擷取 $Week[0] 的值即 "Sunday" 顯示在網頁上, </td> 則表示一個欄位的結束 然後 $A 的值加 1, 其值小於 6 迴圈繼續執行 <td> 又設定一個欄位的開始, 並擷取 $Week[1] 的值, 依此類推直到迴圈結束 此時網頁上會出現星期日到星期六 第 20 行 </td> 表示一個列結束 第 21 行 </table> 則是表格的結束

1: <html> 2: <title> 迴圈 </title> 3: <body> 4: <?php 5: $Week[0] = "Sunday" ; // 設定陣列 Week 的內容 6: $Week[1] = "Monday" ; 7: $Week[2] = "Tuesday" ; 8: $Week[3] = "Wednesday" ; 9: $Week[4] = "Thursday" ; 10: $Week[5] = "Friday" ; 11: $Week[6] = "Saturday" ; 12:?> 13: <table border=0 width=560> 14: <tr> 15: <?php 16: for ($A=0 ; $A <=6; $A++) 17: echo "<th width=80>$week[$a] " ; 18: echo "<tr>" ; 19: for ($I=1 ; $I<=31; $I++){ 20: echo "<td align=center>$i" ; 21: if ($I % 7 == 0 ) 22: echo "<tr>" ; 23: } 24:?> 25: </table> 26: </body> 27: </html> 第 18 行表示下一列的開始 第 19 行是一個 for 迴圈,$I 由 1 到 31 表示一個月的 31 天 每一個日期要放置在一個欄位中, 所以在第 20 行 <td> 表示一個欄位的開始, align 屬性則表示顯示的文字要在欄位的中央 (center), 接著顯示日期 $I 因為一週是七天, 所以每七天就應該要換到下一列顯示, 所以第 21 行 if 判斷式來判斷是否換到下一列 觀念是當 $I 可被 7 整除時就表示已經顯示過 7 個日期應該要換到下一列 所以當 if 判斷式為真時, 第 22 行以 <tr> 標籤產生新的一列. 月曆雛型

特殊的 FOR 迴圈 a) for ($i=0; $i<=10 ; $i ) b) for ( ; ; ) c) for ($i=0 ; $i<=10; $j++) 以上所有的 for 指令假設在迴圈敘述內不會改變 $i 的值, 那麼三個 for 迴圈都是無窮迴圈

for ($i=0; $i<=10 ; $i ) 因為 $I 從 0 開始, 而每迴圈一次 $I 的值都要遞減 1, 那麼 $I 的值永遠小於 10, 因此 $i<=10 永遠為真而產生無窮迴圈

for ( ; ; ) 因為 for 迴圈三項條件均沒有設定, 因此沒有離開迴圈的條件而產生無窮迴圈

for ($i=0 ; $i<=10; $j++) 第三項增減值是變數 $j 做遞增 而 $i 的起始值設為 0 後就沒有再改變過, 那麼 $i 的值當然永遠小於 10, 迴圈自然沒有機會停止

12 2 巢狀 FOR 迴圈 for 迴圈內還可以有 for 迴圈 格式 for ($I=0; $I<=10; $I++){ echo $I; for ($J=1; $J<=9; $J++) echo $J; }

1: <html> 2: <title> 統計表 </title> 3: <body> 4: <?php 5: $s = array (0,15,10,20,17,3,8) ; 6: echo " 銷售量統計表 <p>" ; 7: for ($A=1 ; $A<=6; $A++){ 8: echo " 星期 $A : " ; 9: $s[0]+=$s[$a] ; 10: for ($I=1 ; $I<= $s[$a]; $I++) 11: echo "*" ; 12: echo " $s[$a]<br>" ; 13: } 14: echo "<p> 總量 : $s[0]" ; 15:?> 16: </body> 17: </html>

1: <html> 2: <title> 統計表 </title> 3: <body> 4: <?php 5: $s = array (0,15,10,20,17,3,8) ; 6: echo " 銷售量統計表 <p>" ; 7: for ($A=1 ; $A<=6; $A++){ 8: echo " 星期 $A : " ; 9: $s[0]+=$s[$a] ; 10: for ($I=1 ; $I<= $s[$a]; $I++) 11: echo "*" ; 12: echo " $s[$a]<br>" ; 13: } 14: echo "<p> 總量 : $s[0]" ; 15:?> 16: </body> 17: </html> $s[0] 用來計算並儲存一週的總銷售量 $s[1] 到 $s[6] 則分別儲存星期一到星期六的銷售量 第 5 行設定了 $s 為一個陣列 第 7 行是 for 迴圈使得 $A 由 1 遞增到 6 第 8 行顯示星期 第 9 行將每天的銷售量加總到 $s[0] 第 10 行設定一個內迴圈使得 $I 的值由 1 遞增到 $s[$a] 例如 $A=1 時, $s[$a] 就表示取得 $s[1] 的內容, 而 $s[1] 的內容為 15, 所以內迴圈會由 1 遞增到 15 第 11 行顯示一個 "*" 字元, 當內迴圈由 1 到 15 則第 11 行會被執行 15 次, 故顯示 15 個 "*" 因為迴圈並沒有加上大括弧所以迴圈敘述只有一行, 也就是說第 12 行並沒有包含在迴圈敘述中, 所以當 $I 迴圈執行完畢後才會執行第 12 行顯示 $s[1] 的內容, 然後由標籤 <br> 表示換到下一行 依此重複執行, 直到迴圈結束 最後第 14 行顯示 $s[0] 的內容, 就是本星期的銷售總量

12 3 FOREACH 迴圈 foreach, 專門使用在陣列操作 二種格式分述如下 : 1) foreach (array_expression as $value) 2) foreach (array_expression as $key => $value)

1) foreach (array_expression as $value) 格式 foreach ( 陣列名稱 as $value){ 迴圈敘述 ; } 在執行時陣列的 index 先歸零, 意即 index 指向陣列第 0 個元素 ( 因為陣列從 0 開始 ), 然後每次迴圈依序將陣列元素的內容放入 $value 變數中, 直到陣列中每一個元素都執行一次

1: <html> 2: <title>foreach</title> 3: <body> 4: 月份縮寫 : <br> 5: <?php 6: $month = array('jan','feb','mar','apr','may','jun','jul','aug', 7: 'Sep','Oct','Nov','Dec') ; 8: foreach ($month as $value) 9: echo "$value <br> " ; 10:?> 11: </body> 12: </html> 第 6-7 行設定陣列 $month 的內容 第 8 行 foreach 會先將 index 歸零, 然後依陣列內容 'Jan','Feb'... 之順序, 依序代入 $value 中 第 9 行顯示 $value 內容 陣列內容有 12 個元素, 所以迴圈會執行 12 次

2) foreach (array_expression as $key => $value) 格式 foreach ( 陣列名稱 as $key => $value) { 迴圈敘述 ; } 第二種方式除了會將陣列元素依序存入 $value 外, 也會將陣列指標 index 同時存入 $key 中

1: <html> 2: <title>foreach</title> 3: <body> 4: <?php 5: $A = array (0,10,20,30,40,50,60) ; 6: foreach ($A as $key => $value){ 7: echo "\$A[$key] : " ; 8: echo "$value <br> " ; 9: } 10:?> 11: </body> 12: </html> 第 5 行設定陣列 $A 的內容 第 6 行將陣列 $A 中元素依序取出 陣列元素的 index 值放入 $Key, 元素的內容放到 $value 中 第 7 行顯示 $Key ( 即 index) 第 8 行顯示 $value

12 4 WHILE 迴圈 While 指令有二個格式 While... do... While 二者的差別是在於, 前者是先判斷條件判斷式是否為真才執行迴圈敘述, 而後者是先執行迴圈再判斷條件判斷式是否為真, 然後才決定是否繼續執行迴圈

While... 格式 : while ( 判斷式 ) { 迴圈敘述 } 當 while 後面的判斷式為真時, 會重複的執行迴圈敘述, 一直到判斷式結果為假 迴圈敘述是由左右大括弧將敘述括起來 如果迴圈敘述只有一行敘述就可以省略大括弧 While 迴圈每次會在一開始時檢查判斷式, 每次一定會執行完迴圈敘述一次再回到迴圈的開始, 也就是說, 如果迴圈敘述執行到一半時即使判斷式變成假也不會停止, 直到做完迴圈後才會再檢查判斷式

1: <html> 2: <title>while 迴圈 </title> 3: <body> 4: WHILE 開始時判斷式為真 <br> 5: <?php 6: $A = 1; 7: while ($A<=10) 8: echo $A++."<br>" ; 9:?> 10: <hr>while 開始時判斷式為假 <br> 11: <?php 12: $A=20 ; 13: while ($A<=10) 14: echo $A++."<br>" ; 15:?> 16: </body> 17: </html> 第 6 行設定 $A=1 第 7 行 while 因為 1<10 所以判斷式為真, 就會進入迴圈敘述內執行 第 8 行顯示 $A 的內容並且將 $A 的值加 1, 然後回到第 7 行在判斷是否執行 while 迴圈 如此循環一直到 $A 的值遞增到 11, 使得判斷式為假就不會再執行迴圈 此時畫面上已顯示 1 到 10 接著第 10 行顯示出一條分隔線以及提示字串 第 12 行設定 $A=20 第 13 行因為 $A 的值為 20 不會小於或等於 10, 所以判斷式為假, 迴圈敘述就不會被執行, 畫面上自然不會顯示出任何結果 這個範例執行結果可以看到當判斷式為真時, 由 1 依序顯示到 10 當判斷式為假時就沒有顯示任何東西

do... while 格式 : do { 迴圈敘述 }while ( 判斷式 ) ; 迴圈一開始並沒有任何的判斷式, 因此直接進入迴圈敘述內執行 然後才檢查判斷式的結果為真或是為假, 如果為真則繼續進行迴圈敘述, 如果為假則離開迴圈 和 while 迴圈最大的不同是不管判斷式是真或是假, 一開始一定會執行迴圈敘述一次才會檢查判斷式的值 所以 do...while 是先執行迴圈再判斷條件判斷式是否為真, 然後才決定是否繼續執行迴圈

1: <html> 2: <title>do_while 迴圈 </title> 3: <body> 4: Do-WHILE 當判斷式為真 <br> 5: <?php 6: $A = 1; 7: do { 8: echo $A++."<br>" ; 9: } while ($A<=10) ; 10:?> 11: <hr>do-while 當判斷式為假 <br> 12: <?php 13: $A=20 ; 14: do { 15: echo $A++."<br>"; 16: }while ($A<=10) 17:?> 18: </body> 19: </html> 第一個 do_while 迴圈第 7 行只是表示迴圈的開始並沒有判斷, 程式會直接進入第 8 行顯示 $A 的內容並且將其值加 1 第 9 行 while 判斷 $A 是否小於或等於 10 迴圈會一直執行到判斷式為假為止 第 13 行第二個迴圈 $A 的值為 20 第 14 行表示迴圈開始並沒有判斷, 進入第 15 行顯示 $A 的值 ( 即 20) 然後加 1 第 16 行進行判斷式的檢查, 發現判斷式為假, 所以立即離開迴圈向下執行 此時畫面上已顯示一個 20

12 5 BREAK Break 指令會強迫跳離 for while 迴圈及 switch 指令 格式如下 : break n ; brea k 的用法相當簡單, 只要將 break 指令寫在要強迫跳離迴圈的地方就可以了 參數 n 表示跳離迴圈的深度

1: <html> 2: <title>break</title> 3: <body> 4: <?php 5: $A=1 ; 6: for ( ; ; ){ 7: echo $A++."<br>" ; 8: if ($A > 10) break ; 9: } 10:?> 11: </body> 12: </html> 第 6 行 for 指令中沒有寫條件式, 在前面我們曾經說明過這樣的寫法就會形成一個無窮迴圈, 原則上這個迴圈應該不會停止 但是第 8 行 if 判斷式使得當 $A 的值大於 10 時就會執行 break 指令跳離 for 迴圈

1: <html> 2: <title>break</title> 3: <body> 4: <?php 5: echo "======= break ======= <br>\n" ; 6: for ($A=1; $A<=3; $A++) { // 第一層迴圈 7: for ($B=1; $B<=10 ; $B++) { // 第二層迴圈 8: echo "A = $A B=$B <br>\n" ; 9: if ($B==3) break ; 10: } 11: echo "--------------- <br>" ; 12: } 13: echo "<p>"; 14: echo "====== break 2 ====== <br>\n" ; 15: for ($A=1; $A<=3; $A++) { // 第一層迴圈 16: for ($B=1; $B<=10 ; $B++) { // 第二層迴圈 17: echo "A = $A B=$B <br>\n" ; 18: if ($B==3) break 2 ; 19: } 20: } 21:?> 22: </body> 23: </html> 跳二層 跳一層

12 6 CONTINUE continue 指令會忽略 continue 以下的迴圈敘述回到迴圈起始位置繼續執行迴圈 格式 continue n ; continue 指令會忽略所在位置以下的迴圈敘述回到迴圈起始位置繼續執行迴圈 n 代表跳離的層數, 當 n 忽略不寫時表示 n=1

1: <html> 2: <title>continue</title> 3: <body> 4: <?php 5: $A=0 ; 6: while ($A < 9) { 7: $A++; 8: echo "<br>$a \n" ; 9: if (($A % 2) ==0) 10: continue ; 11: echo "<== 是奇數 " ; 12: } 13:?> 14: </body> 15: </html> 第 5 行 $A 的初始值為 0 第 6 行 while 迴圈判斷 $A 是否小於 9 第 7 行 $A 的值加 1 第 8 行顯示 $A 的內容 第 9 行如果 $A 對 2 取餘數為 0 則執行 continue 第 11 行顯示文字說明字串

問題與討論 1. 請利用 FOR 指令在瀏覽器上顯示 0 至 20 間的奇數 2. 請撰寫一個程式可以顯示九九乘法表 3. 請用 FOREACH 改寫範例 12 3 4. 請利用 WHILE 指令改寫第一題 5. 請利用 DO WHILE 指令改寫第二題 6. 請寫一個教學網頁, 由使用者輸入一個數字 N, 則可以顯示 : a) ΣN (1 至 N 的和 ) b) N! (1 至 N 的積 ) c) 小於 N 的費式級數 ( 級數 : 1 1 2 3 5 8...) 注意, 程式需判斷 N 不可以小於 5