




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、PHP程式初探(2),時間:2009/06/03 講師:劉道遠,程式流程控制結構,條件述句 if 敘述 else elseif,if (EXPRESSION) statement; ,if (EXPRESSION) statement; else statement; ,if (EXPRESSION) statement; elseif statement; else statement; ,程式流程控制結構,條件述句 注意事項 statement只有一行敘述的時候,可省略大括弧。 以下的情形可改寫,if ($a 1) $b = a; else $b = b; ,$b = ($a 1) ? a
2、: b;,程式流程控制結構,switch 敘述 基本語法,switch (EXPRESSION) case expr_value: statement; break; default: statement; break; ,switch ($i) case apple: echo i is apple; break; case bar: echo i is bar; break; case cake: echo i is cake; break; default: echo Please make a new selection.; break; ,程式流程控制結構,while 敘述 基本語法
3、 注意事項:while 需要給予停止的條件。,while (EXPRESSION) statement; ,while (EXPRESSION) : statement; endwhile;,$i = 1; while ($i = 10) echo $i+; ,程式流程控制結構,do-while 敘述 基本語法 注意事項:do-while 至少執行一次。,do statement; while (EXPRESSION);,$a = false; while ($a = true) echo a is true; $a = false; ,$a = false; do() echo a is t
4、rue; $a = false; while ($a = true);,程式流程控制結構,for 敘述 基本語法 注意事項: EXPRESSION3是執行一次迴圈後執行。,for (EXPRESSION1; EXPRESSION2; EXPRESSION3) statement; ,for ($i = 1; $i = 10; $i+) echo $i; ,程式流程控制結構,foreach 敘述 基本語法,foreach (array_expression as $value) statement ,foreach (array_expression as $key = $value ) sta
5、tement ,$a = array(1, 2, 3, 4); foreach ($a as $k = $v) echo $k: $v; ,程式流程控制結構,break:指定跳出目前的迴圈 continue:跳過某次的迴圈,執行下一次迴圈。,$arr = array(one, two, three, four, stop, five); foreach ($arr as $k = $v) if ($v = stop) break; echo $v; foreach ($arr as $k = $v) if ($v = stop) continue; echo $v; ,程式流程控制結構,inc
6、lude:將指定的檔案插到include的位置。 require:和include一樣但是不可以用在判斷敘述或迴圈中。 include_once:和include一樣,但指定引入的檔案只會被引入一次。 require_once:和require一樣,但指定引入的檔案只會被引入一次。,陣列,陣列的初始化:,array( key = value , . ) $arr = array(foo = bar, 12 = true);,$arrkey = value; $arr = value; $arrfoo = bar; $arr12 = true;,陣列,陣列的操作: 讀出陣列 foreach fo
7、r while,$arr = array(one, two, three); foreach ($arr as $key = $value) echo Key: $key; Value: $value; for($key = 0; $key ; reset($arr); while (list($key, $value) = each($arr) echo Key: $key; Value:$value; ,陣列,陣列的操作: 幾個例子 去除array中某個單元,並reindex unset、array_value,$a = array(1 = one, 2 = two, 3 = three)
8、; unset($a2); /* will produce an array that would have been defined as $a = array(1 = one, 3 = three); and NOT $a = array(1 = one, 2 =three); */ $b = array_values($a); / Now $b is array(0 = one, 1 =three),陣列,陣列的操作: 幾個例子 相同值的單元,只取出一個 array_unique,$input = array(a = green, red, b = green, blue, red);
9、$result = array_unique($input); print_r($result);,陣列,陣列的操作: 幾個例子 push和pop array_push、array_pop,$stack = array(orange, banana); array_push($stack, apple, raspberry); print_r($stack);,$stack = array(orange, banana, apple, raspberry); $fruit = array_pop($stack); print_r($stack);,陣列,陣列的操作: 幾個例子 將array的值
10、送入某個函數 array_map,function cube($n) return($n * $n * $n); $a = array(1, 2, 3, 4, 5); $b = array_map(cube, $a); print_r($b);,陣列,陣列的操作: 幾個例子 改變array值的方法,/ PHP 5 foreach ($colors as ,陣列,陣列的操作: 幾個例子 依據sub-array的index來排序,請參照 online_program/wfconfig.php 中 function sksort,array( peter = array(age = 21, gend
11、er = male), john = array(age = 19, gender = male), mary = array(age = 20, gender = female) );,字串處理及正規表達式,基本字串函數: 字串中依據字元的操作,$str = This is a test.; echo $first = $str0;/T echo $third = $str2;/i $str = This is still a test.; echo $last = $strstrlen($str)-1;/. $str = Look at the sea; $strstrlen($str)-
12、1 = e; echo $str;/ Look at the see,字串處理及正規表達式,基本字串函數: substr 取得部份字串 將字串 string 的第 start 字元起的字串取出 length 個字元;若 start 為負數,則從字串尾端算起。 若可省略的參數 length 存在,但為負數,則表示取到倒數第 length 個字元。,echo substr(abcdef, 1); / bcdef echo substr(abcdef, 1, 1); / b echo substr(abcdef, 1, -1); / bcde echo substr(abcdef, -1, 1);
13、/ f echo substr(abcdef, -1, -1); / ,字串處理及正規表達式,基本字串函數: 去除字串的空白 trim、ltrim、rtrim 去除所有的空白,$input = This is test string . ; $output = ; $input = trim($input); for($i=0;$istrlen($input);$i+) if(substr($input, $i, 1) != “”) $output .= trim(substr($input, $i, 1); else $output .= ;/這裡決定中間字元空格的大小 echo $outp
14、ut;,字串處理及正規表達式,基本字串函數: 尋找某個字串是否含有特定字串,並回傳位置 strpos,$mystring = abc; $findme = a; $pos = strpos($mystring, $findme); if ($pos = false) echo The string $findme was not found in the string $mystring; else echo The string $findme was found in the string $mystring; echo and exists at position $pos; ,字串處理
15、及正規表達式,正規表達式 一套字串樣式比對的技述性語言 檢查某字串是否完整對應到某樣式 (核對) 在某字串中找尋對應樣式的子字串 (搜尋) 由字串中取出對應到某樣式的字串 (取代),$string = This is test string .; $str = ereg_replace( +, , $string ); echo $str;,字串處理及正規表達式,正規表達式 行的開頭或結尾,例子1:如果寫成 This ,則字串:This is a book符合這規則; Is this the book就不符合這規則。 例子2:如果寫成 book$,則字串:This is a book、Is t
16、his the book都符合這規則。 例子3:如果寫成 book$,則只有字串僅能有 book 這個單字,前後都不可以有其他文字出現。,字串處理及正規表達式,正規表達式 字元集合,例子:如果寫成 H123456 或是 H1-6 ,則表示字串可以是 H1、H2、H3、H4、H5、H6 都符合這個規則。,有關英文字母、數字及一些標點符號可表示如下:,字串處理及正規表達式,正規表達式 非或排除字元集合,這個部份前二項 與 規則的組合,但放的位置不同,其表達的意義也不同,所以特別說明如下: 例子1:如果寫成 A-Z ,則表示字串開頭的字元是英文大寫字母成即符合規則,例如Z123456789。 例子2
17、:如果寫成 A-Z (注意 的位置),則表示字串開頭的字元不可以是英文大寫字母,例如Z123456789就不行,但是如果是 z123456789(小寫) 或 123456789Z(開頭是數字)都符合這規則。,字串處理及正規表達式,正規表達式 比對任意字元.,例子1:如果寫成 A.B ,則表示字串應是 A.B 才符合規則。(與前面介紹的規則相同) 例子2:如果寫成 A.B ,則表示字串寫成 A1B 、 AzB 、 A+B 、. 都符合規則,也就是第 2 個字元是任意的。,字串處理及正規表達式,正規表達式 特殊字元? 、 範圍比對,利用 (大括號),字串處理及正規表達式,正規表達式 符號及 ( )
18、 括號,字串處理及正規表達式,正規表達式 Special Sequences,字串處理及正規表達式,正規表達式 Pattern Modifiers,字串處理及正規表達式,正規表達式 Point based assertions,字串處理及正規表達式,正規表達式 相關函數大致可分為三類: 搜尋與比對 ereg()或preg_match() 搜尋並取代 ereg_replace()或preg_replace() 字串分割 split()或preg_split() preg_match一般來說效能比ereg好。 Do not use preg_match() if you only want to
19、check if one string is contained in another string. Use strpos() or strstr() instead as they will be faster.,字串處理及正規表達式,正規表達式 例子:驗證email格式,/S+wd.-2,.w2,6z/i,alan,,tw,.,結束,不分大小寫,Session管理,何謂session 在使用者利用程式處理過程內,進行數個HTTP的要求與回應,這些要求與回應稱為session。 保存session的方法 利用cookie 利用php的session功能,Session
20、管理,Cookie與session的運作原理 Cookie的限制 安全性的限制:使用這可以輕易看到或變更cookie的資料 客戶端不支援(瀏覽器、安全性設定、proxy保護等),使cookie功能無法使用 容量有限制,Session管理,使用PHP的session功能 透過session_start()函式初始化session。 在$_SESSION裡登錄session變數。 進行session變數處理。 session的解除 關閉瀏覽器並重新啟動 session期限到 在php.ini中設定session.cookie_lifetime 解除session變數的登錄。 用unset():解除某個變數 session_destory() session_unset() $_SESSION = array(),Session管理,例子,設定$_SESSIO
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 军品订购项目管理办法
- 北京车位产权管理办法
- 资本驱动下人工智能产业化的伦理挑战与应对策略
- 睡眠剥夺对小鼠色氨酸代谢及行为影响机制研究
- 体检机构备案管理办法
- 佛山酒店宿舍管理办法
- 西部地区经济韧性对经济高质量发展的影响研究
- 基于机器视觉的钢板表面缺陷自动检测系统设计与实现
- 未发生较大及以上生产安全事故
- 智慧医院建设管理办法
- 低压培训课件
- 教师团队协作与沟通能力
- 保安公司薪酬管理制度
- 井盖巡查管理制度
- GB/T 33490-2025展览展示工程服务基本要求
- 2024年国能榆林化工有限公司招聘真题
- 消防总队面试题目及答案
- 《低钠血症中国专家共识(2023年版)》解读课件
- GB/T 45604-2025船舶与海洋技术大抓力平衡锚
- 国家中小学智慧教育平台与人工智能融合应用指南(试行)
- 混凝土搅拌站企业管理规范与要求
评论
0/150
提交评论