06-statement

Similar documents
Microsoft Word - PHP7Ch01.docx

chap07.key


Microsoft PowerPoint - 3. 函数Functionl.ppt [兼容模式]

Microsoft Word - 01.DOC

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.

目 錄 壹 青 輔 會 結 案 附 件 貳 活 動 計 劃 書 參 執 行 內 容 一 教 學 內 容 二 與 當 地 教 師 教 學 交 流 三 服 務 執 行 進 度 肆 執 行 成 效 一 教 學 課 程 二 與 當 地 教 師 教 學 交 流 三 服 務 滿 意 度 調 查 伍 服 務 檢

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

ebook14-4

天仁期末個人報告1.PDF

untitled

RUN_PC連載_10_.doc

7. 小 星 星 一 閃 一 閃 亮 晶 晶, 滿 天 都 是 小 星 星 ; 掛 在 天 空 放 光 明, 好 像 許 多 小 眼 睛 ; 一 閃 一 閃 亮 晶 晶, 滿 天 都 是 小 星 星

untitled

Important Notice SUNPLUS TECHNOLOGY CO. reserves the right to change this documentation without prior notice. Information provided by SUNPLUS TECHNOLO

“关于北京重点高校在校生回乡就业意愿调查问卷”


A. 学 校 保 护 B. 家 庭 保 护 C. 社 会 保 护 D. 司 法 保 护 解 析 : 本 题 考 查 的 是 四 大 保 护 区 分 四 大 保 护 最 基 本 的 方 法 是 看 实 施 对 未 成 年 人 保 护 的 主 体 从 漫 画 中 本 校 网 站 提 醒 您 : 游 戏

Lorem ipsum dolor sit amet, consectetuer adipiscing elit

<4D F736F F D20D1A7C9FACAD6B2E1B8C4D7EED6D5A3A8B4F8B1EDB8F1BCD3D2B3C2EBB0E6A3A9372E3239>

桂林市劳动和社会保障局关于

第三章 維修及管理

Microsoft Word 年度选拔硕博连读研究生的通知.doc

CC213

投稿類別:商業類

Microsoft Word - jenesys2009_groupreport_1a_sc.doc

國立臺東高級中學102學年度第一學期第二次期中考高一國文科試題

Microsoft Word - Sunday

鎶ョ焊0

!! :!!??!!?!??!!!... :... :'?'?! :' ' :'?' :'?' :'!' : :? Page 2

Page 2 of 12

秘密大乘佛法(下)

<D2B0D0C4D3C5D1C52DC8CED6BEC7BF202D20BCC7CAC2B1BE>

Fuzzy Highlight.ppt

06 01 action JavaScript action jquery jquery AJAX CSS jquery CSS jquery HTML CSS jquery.css() getter setter.css('backgroundcolor') jquery CSS b

Java

四川省普通高等学校

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

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

目 錄 第 壹 章 前 言... 3 第 貳 章 市 場 分 析... 4 一 總 體 環 境 狀 況... 4 二 產 品 狀 況... 4 三 競 爭 狀 況... 5 第 參 章 創 新 構 想 與 目 標... 8 一 比 思 尼 斯 堡... 8 二 金 遊 島... 9 三 計 畫 流

全国计算机技术与软件专业技术资格(水平)考试

(京)新登字063号

/

Microsoft Word 葉禾田

Table of Contents

第 零 場 (2005) 清 晨 天 未 亮 時, 喪 家 帆 布 棚 下 往 生 者 為 36 歲 王 宏 杰 冷 清 低 調 的 喪 禮 佈 置 孫 明 義 ( 男 36) 向 遺 孀 (34) 遞 上 奠 儀 王 妻 眼 神 空 洞, 臉 上 滿 滿 的 怨 恨 王 妻 用 極 低 的 音 量

ebook193-1

參與校內競賽對高中職生之影響–以曾文家商為例

Microsoft Word - SURF支持下的信息时代深层阅读与沟通【孙众】

帝国CMS下在PHP文件中调用数据库类执行SQL语句实例

REPORT ID: SS-220D COMPILED BY: HONG KONG HOUSING SOCIETY 香港房屋協會 PROJECT:THS2018 HONG KONG HOUSING SOCIETY 香港房屋協會 T-HOME TRANSITIONAL RENTAL HOUSING S

RUN_PC連載_8_.doc

PowerPoint プレゼンテーション

设计模式 Design Patterns

XHTML width/height bdo a code href object charset codebase hreflang archive lang type alt dir name name xml:lang rel/rev align shape/coords hspace/vsp

LEETCODE leetcode.com 一 个 在 线 编 程 网 站, 收 集 了 IT 公 司 的 面 试 题, 包 括 算 法, 数 据 库 和 shell 算 法 题 支 持 多 种 语 言, 包 括 C, C++, Java, Python 等 2015 年 3 月 份 加 入 了 R

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

C/C++语言 - C/C++数据

基于CDIO一体化理念的课程教学大纲设计

新・明解C言語入門編『索引』

课程12-7.FIT)

可 Web 编程的NativeUI 设计与实现

Microsoft Word - å�¦ä¹€å¿…å¾Šå’‹éłƒï¼‹å®ı稿;(.doc

南華大學數位論文

Windows XP

Microsoft Word - diy_chi.doc

User’s Manual

C/C++ 语言 - 循环

生活 成长 先锋


第一页:高礼英才培养计划

二 鮮 芋 仙 快 速 竄 起 的 原 因 : 在 短 短 的 兩 年 時 間 裡, 鮮 芋 仙 在 全 省 已 擴 展 到 全 省 有 兩 百 多 家 的 店 面, 是 什 麼 樣 的 原 因 可 以 在 經 濟 不 景 氣 的 狀 況 下 急 速 成 長 呢? 我 們 整 理 了 幾 項 重 點


PowerPoint Presentation

untitled

(Microsoft PowerPoint - UML\302\262\244\266_use case.ppt)

Microsoft Word PHPCh15.docx

08陈会广

<4D F736F F D20A4BAA4E52DA4A4B2A3AEF8B64FAF53BC782E646F63>

_汪_文前新ok[3.1].doc

untitled


5-1 nav css 5-2

开发技术大揭秘册子内页_Vol.3_1123_预览版

幻灯片 1

M E M O 內 部 通 讯

M E M O 內 部 通 讯

互動網頁技術系列課程 HTML與CSS網站基礎設計 [12pt]

untitled

eZiosuite

IsPostBack 2

Microsoft PowerPoint - 10 模板 Template.pptx


《C语言程序设计》教材习题参考答案

untitled

第 21 讲 CGI 程序 byperl 及 PHP 小结 张高川 遗传学与生物信息学系基础医学与生物科学学院苏州大学医学部 WX: zhanggaochuan QQ: 苏州大学医学部基础医学与生物科

PPBSalesDB.doc

,, ,,,,, , ( GHQ), ,, :,, , :, g g g g g g g 31 g g( 1 ) 43 g g g g( 1 ) g g g

程 序 由 语 句 构 成, 编 程 从 语 句 开 始

2 WF 1 T I P WF WF WF WF WF WF WF WF 2.1 WF WF WF WF WF WF

Transcription:

PHP 基本语法 条件 循环 函数杨亮

程序的基本结构 程序 输 入 运算 (+ - x / &! ) 逻辑 ( 条件 循环 递归 ) 输出 辅助 ( 变量 数组 函数 )

小测验 用你熟悉的程序找出 1~1000 中的所有质数

我们直接看代码好了

if else elseif 1 <?php 2 if( $totalqty == 0 ) 3 echo 'You did not order anything on the previous page!<br />'; 4 5 if ($totalqty == 0) { 6 echo '<p style="color:red">'; 7 echo 'You did not order anything on the previous page!'; 8 echo '</p>'; 9 } 10 11 if ($totalqty == 0) { 12 echo "You did not order anything on the previous page!<br />"; 13 } else { 14 echo $tireqty." tires<br />"; 15 echo $oilqty." bottles of oil<br />"; 16 echo $sparkqty." spark plugs<br />"; 17 } 18 19 if ($tireqty < 10) { 20 $discount = 0; 21 } elseif (($tireqty >= 10) && ($tireqty <= 49)) { 22 $discount = 5; 23 } elseif (($tireqty >= 50) && ($tireqty <= 99)) { 24 $discount = 10; 25 } elseif ($tireqty >= 100) { 26 $discount = 15; 27 }

switch 29 if ($find == "a") { 30 echo "<p>regular customer.</p>"; 31 } elseif ($find == "b") { 32 echo "<p>customer referred by TV advert.</p>"; 33 } elseif ($find == "c") { 34 echo "<p>customer referred by phone directory.</p>"; 35 } elseif ($find == "d") { 36 echo "<p>customer referred by word of mouth.</p>"; 37 } else { 38 echo "<p>we do not know how this customer found us.</p>"; 39 } 40 41 switch($find) { 42 case "a" : 43 echo "<p>regular customer.</p>"; 44 break; 45 case "b" : 46 echo "<p>customer referred by TV advert.</p>"; 47 break; 48 case "c" : 49 echo "<p>customer referred by phone directory.</p>"; 50 break; 51 case "d" : 52 echo "<p>customer referred by word of mouth.</p>"; 53 break; 54 default : 55 echo "<p>we do not know how this customer found us.</p>"; 56 break; 57 } 58?>

1 <html> 2 <body> 3 <table border= 0 cellpadding= 3 > 4 <tr> 5 <td bgcolor= #CCCCCC align= center >Distance</td> 6 <td bgcolor= #CCCCCC align= center >Cost</td> 7 </tr> 8 <tr> 9 <td align= right >50</td> 10 <td align= right >5</td> 11 </tr> 12 <tr> 13 <td align= right >100</td> 14 <td align= right >10</td> 15 </tr> 16 <tr> 17 <td align= right >150</td> 18 <td align= right >15</td> 19 </tr> 20 <tr> 21 <td align= right >200</td> 22 <td align= right >20</td> 23 </tr> 24 <tr> 25 <td align= right >250</td> 26 <td align= right >25</td> 27 </tr> 28 </table> 29 </body> 30 </html> Distance Cost 50 5 100 10 150 15 200 20 250 25

1 <html> 2 <body> 3 <table border="0" cellpadding="3"> 4 <tr> 5 <td bgcolor="#cccccc" align="center">distance</td> 6 <td bgcolor="#cccccc" align="center">cost</td> 7 </tr> 8 <?php 9 $distance = 50; 10 while ($distance <= 250) { 11 echo "<tr> 12 <td align=\"right\">".$distance."</td> 13 <td align=\"right\">".($distance / 10)."</td> </tr> \n"; 14 $distance += 50; 15 } 16?> 17 </table> 18 </body> 19 </html> 9 for ($distance = 50; $distance <= 250; $distance += 50) { 10 echo "<tr> Distance Cost 50 5 100 10 150 15 200 20 250 25 while 11 <td align=\"right\">".$distance."</td> 12 <td align=\"right\">".($distance / 10)."</td> </tr>\n"; for 13 }

数组与循环 2 $prices = array('tires'=>100, 'Oil'=>10, 'Spark Plugs'=>4); 3 4 foreach ($prices as $key => $value) { 5 echo $key." ".$value."<br />"; 6 } 7 8 while ($element = each($prices)) { 9 echo $element['key']; 10 echo " "; 11 echo $element['value']; 12 echo "<br />"; 13 } 14 15 reset($prices); 16 while (list($product, $price) = each($prices)) { 17 echo "$product - $price<br />"; 18 }

软件 工程中的代码重 用 因为我们都懒 ( 做过的事情不想再做第 二次 ) 降低开发成本 增加代码的可靠性 增强程序的 一致性

PHP 中的代码重 用 将其他 文件中的 html 或者 php 代码引 入到本 文件 require() 与 include(); require_once() 与 include_once(); 可以引 入其他的函数库, 或者代码 片段 1 <?php 2 //reusable.php 3 echo 'Here is a very simple PHP statement.<br />'; 4?> 1 <?php 2 //use.php 3 echo 'This is the main file.<br />'; 4 require( 'reusable.php' ); 5 echo 'The script will end now.<br / 6?>

PHP 实现 网 页模板 menu header contenta require( header.php ); require( menu.php ); contenta require( footer.php ); footer header require( header.php ); require( menu.php ); contentb require( footer.php ); menu contentb footer header.php footer.php menu.php

找出 1~1000 中的所有质数 1 <?php 2 for ($i=2; $i<1000; $i++) { 3 for ($j=2; $j<sqrt($i); $j++) { 4 if (doubleval($i)%doubleval($j) == 0 ) { 5 break; 6 } 7 } 8 if ($j > sqrt($i)) { 9 echo $i.'<br>'; 10 } 11 } 12?> 判断 $i 是否为质数 1 <?php 2 for ($i=2; $i<1000; $i++) { 3 if (is_zhishu($i)) { 4 echo $i.'<br>'; 5 } 6 } 7?>

DRY: Don t Repeat Yourself

Ctrl-C & Ctrl-V

代码的可读性 良好的代码 风格

为什么 自 己写有函数 代码的可读性 代码的可重 用性 实现功能的模块化 实现递归调 用 使变量名不 至于太 长 ( 作 用域 )

PHP 中的函数 实参 $res = my_function($val1, $val2); 函数调 用 返回值 函数名关键字 functon my_function($param1, $param2) { //function implementation return $result; } 形参 函数定义

2 for ($i=2; $i<1000; $i++) { 3 for ($j=2; $j<sqrt($i); $j++) { 4 if (doubleval($i)%doubleval($j) == 0 ) { 5 break; 6 } 7 } 8 if ($j > sqrt($i)) { 9 echo $i.'<br>'; 10 } 11 } 1 <?php 2 for ($i=2; $i<1000; $i++) { 3 if (is_zhishu($i)) { 4 echo $i.'<br>'; 5 } 6 } 7?> 2 function is_zhishu($num) { 3 for ($j=2; $j<sqrt($num); $j++) { 4 if (doubleval($num)%doubleval($j) == 0 ) { 5 break; 6 } 7 } 8 if ($j > sqrt($num)) { 9 return 1; 10 }else{ 11 return 0; 12 } 13 }

缺省参数值 在函数定义时指定缺省参数值 functon my_function($param1=default1, $param2=default2) { //function implementation return $result; } $res = my_function($val1, $val2); //$param1=$val1, $param2=$val2 $res = my_function($val1); //$param1=$val1, $param2=default2 $res = my_function(); //$param1=default1, $param2=default2 缺省参数按照重要性排序, 越可以 自动确定的越放到后 面

可变参数函数 所有输 入值求和 所有输 入值的最 大公约数 ( 最 小公倍数 ) fun_num_args() 与 fun_get_args(); 1 <?php 2 function var_args() { 3 echo "Number of parameters:"; 4 echo func_num_args(); 5 echo "<br />"; 6 $args = func_get_args(); 7 foreach ($args as $arg) { 8 echo $arg."<br />"; 9 } 10 } 11?>

变量作 用域 局部变量 ( 函数中定义 ), 从定义处到函数结束 全局变量 ( 非函数中定义 ), 从定义出到 文件尾, 但不包括其中的函数 超全局变量 ( 下节课会讲到 ), 所以地 方 require 和 include 都不影响变量作 用域, 只是起到了 将代码 片段组合的作 用 局部变量加上关键字 global, 可令其变为全局变量, 即在函数外也可以访问

斐波那契数列 x(1)=1; x(2)=1; 通过函数实现递归 X(n)=X(n-1)+x(n-2), n>2 2 function my_fabo($num) { 2 $n = 100; 3 $x=array(); 4 $x[1]=1; 5 $x[2]=1; 6 for($i=3; $i<=$n; $i++) { 7 $x[$i] = $x[$i-1] + $x[$i-2]; 8 echo "x($i)=".$x[$i].'<br>'; 9 } 3 if ($num == 1) { 4 return 1; 5 }elseif ($num == 2) { 6 return 1; 7 }else{ 8 return my_fabo($num-1) + my_fabo($num-2); 9 } 10 } 11 12 $n = 10; 13 echo "x($n)=".my_fabo($n);

作业 一 用递归函数实现汉诺塔如何移动

作业 二 用函数实现矩阵的加减乘除转置操作