XML語(yǔ)言課件:第6章_XML與PHP_第1頁(yè)
XML語(yǔ)言課件:第6章_XML與PHP_第2頁(yè)
XML語(yǔ)言課件:第6章_XML與PHP_第3頁(yè)
XML語(yǔ)言課件:第6章_XML與PHP_第4頁(yè)
XML語(yǔ)言課件:第6章_XML與PHP_第5頁(yè)
已閱讀5頁(yè),還剩57頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第第6章章 XML與與PHP 一個(gè)簡(jiǎn)單的一個(gè)簡(jiǎn)單的PHP程序示例程序示例 Hello World! PHP代碼的基本語(yǔ)法代碼的基本語(yǔ)法v PHP是一種可嵌入到是一種可嵌入到HTML中的腳本語(yǔ)言中的腳本語(yǔ)言v PHP文件以文件以“.php”為擴(kuò)展名,代碼可包含為擴(kuò)展名,代碼可包含HTML代碼代碼和和PHP代碼。代碼。v PHP代碼位于代碼位于“”之間之間“”: 表示腳本的開始和結(jié)束表示腳本的開始和結(jié)束PHP代碼的基本語(yǔ)法代碼的基本語(yǔ)法v 語(yǔ)句分隔符:分號(hào)語(yǔ)句分隔符:分號(hào)“;” echo “Web程序設(shè)計(jì)程序設(shè)計(jì)”; v PHP代碼的注釋代碼的注釋 (1)單行注釋()單行注釋(/或或#) (2)多

2、行注釋()多行注釋(/* */) PHP的數(shù)據(jù)類型的數(shù)據(jù)類型PHP 支持八種原始類型。支持八種原始類型。v 1四種標(biāo)量類型四種標(biāo)量類型 布爾型(布爾型(boolean)、整型()、整型(integer) 浮點(diǎn)型(浮點(diǎn)型(double)、字符串()、字符串(string)v 2復(fù)合類型復(fù)合類型 數(shù)組(數(shù)組(array)、對(duì)象(、對(duì)象(object)v 3兩種特殊類型兩種特殊類型 資源(資源(resource):保存到外部資源的一個(gè)引用):保存到外部資源的一個(gè)引用 NULL:表示一個(gè)變量沒有值:表示一個(gè)變量沒有值PHP的常量和變量的常量和變量1.常量常量vPHP中使用中使用define()函數(shù)來定

3、義符號(hào)常量函數(shù)來定義符號(hào)常量. 格式格式: define(“常量名稱常量名稱”, 值值);v使用使用defined()函數(shù)可以判斷一個(gè)常量是否已被定義函數(shù)可以判斷一個(gè)常量是否已被定義 例:例:PHP的常量和變量的常量和變量2. 變量:美元符后跟變量名變量:美元符后跟變量名, $變量名變量名$name = 張小龍張小龍;vPHP的變量是一種弱類型變量,不需要事先聲明,通的變量是一種弱類型變量,不需要事先聲明,通過賦值將其初始化為任何數(shù)據(jù)類型。過賦值將其初始化為任何數(shù)據(jù)類型。 PHP變量必須是變量必須是$后跟變量名后跟變量名, 區(qū)分大小寫區(qū)分大小寫 變量名由字母或下劃線開頭變量名由字母或下劃線開頭

4、, 后跟任意數(shù)量的字母、后跟任意數(shù)量的字母、數(shù)字或者下劃線數(shù)字或者下劃線 不能使用系統(tǒng)的保留字作為變量名不能使用系統(tǒng)的保留字作為變量名 運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式v 1. 算術(shù)運(yùn)算符算術(shù)運(yùn)算符 加(加(+)、減()、減(-)、乘()、乘(*)、除()、除(/)、取余()、取余(%)v 2. 連接運(yùn)算符連接運(yùn)算符連接運(yùn)算符只有一個(gè),即連接運(yùn)算符只有一個(gè),即“.”,用于將兩個(gè)字符串連,用于將兩個(gè)字符串連接起來接起來 提示:如果提示:如果“.”的左右有數(shù)字,注意將的左右有數(shù)字,注意將“.”和數(shù)字和數(shù)字用空格隔開用空格隔開運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式v 3. 賦值運(yùn)算符賦值運(yùn)算符 最基本的賦值運(yùn)算符

5、是最基本的賦值運(yùn)算符是“=” PHP還支持賦值運(yùn)算符與其他運(yùn)算符的縮寫形式,如還支持賦值運(yùn)算符與其他運(yùn)算符的縮寫形式,如“+=”、“.=”、“&=”、“/=”等。等。 運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式v 4. 比較運(yùn)算符比較運(yùn)算符 包括是否相等(包括是否相等(=)、大于()、大于()、小于()、小于(=)小于等于()小于等于(=)、不等于()、不等于(!=或或)、)、恒等于(恒等于(=)、非恒等于()、非恒等于(!=)v 5. 邏輯運(yùn)算符邏輯運(yùn)算符 有邏輯非(有邏輯非(!)、邏輯與()、邏輯與(&或或and)、邏輯或()、邏輯或(|或或or)、邏輯異或()、邏輯異或(xor) 提示

6、:提示:“&”的優(yōu)先級(jí)比的優(yōu)先級(jí)比“and”高,高,“|”的優(yōu)先的優(yōu)先級(jí)比級(jí)比“or”高高運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式v 6. 加加1、減、減1運(yùn)算符運(yùn)算符 包括前加(包括前加(+$a)、后加()、后加($a+)、前減()、前減(-$a)、)、后減(后減($a -)4種形式種形式 v 7. 條件運(yùn)算符條件運(yùn)算符 條件表達(dá)式條件表達(dá)式 ? 表達(dá)式表達(dá)式1 : 表達(dá)式表達(dá)式2 其含義是:如果其含義是:如果“條件表達(dá)式條件表達(dá)式”的值為的值為“true”則取則取“表達(dá)式表達(dá)式1”的值,否則取的值,否則取“表達(dá)式表達(dá)式2”的值。的值。PHP的輸出的輸出v 數(shù)據(jù)輸出數(shù)據(jù)輸出: 向?yàn)g覽器輸出字符串

7、向?yàn)g覽器輸出字符串 echo 字符串字符串1, 字符串字符串2, 字符串字符串n; print(字符串字符串); 或或 print 字符串字符串; 注:注:echo沒有返回值,比沒有返回值,比print運(yùn)行速度快。運(yùn)行速度快。PHP的輸入的輸入v 獲取從瀏覽器發(fā)來的表單數(shù)據(jù)獲取從瀏覽器發(fā)來的表單數(shù)據(jù) 1)接收表單以)接收表單以GET方式發(fā)送的數(shù)據(jù)方式發(fā)送的數(shù)據(jù)(URL參數(shù)參數(shù)) 通過超全局?jǐn)?shù)組通過超全局?jǐn)?shù)組: $_GET“表單輸入項(xiàng)名稱表單輸入項(xiàng)名稱” 2)接收表單以)接收表單以POST方式發(fā)送的數(shù)據(jù)方式發(fā)送的數(shù)據(jù) 通過超全局?jǐn)?shù)組通過超全局?jǐn)?shù)組: $_POST“表單輸入項(xiàng)名稱表單輸入項(xiàng)名稱”

8、其中其中“表單輸入項(xiàng)名稱表單輸入項(xiàng)名稱”是指表單輸入項(xiàng)是指表單輸入項(xiàng)name屬性的屬性的值值例例:獲取以獲取以GET方式提交的信息方式提交的信息/* 在客戶端輸入:在客戶端輸入:http:/localhost/hello.php?name=Brown */ Hello 例:以例:以POST方式提交信息方式提交信息我的愛好我的愛好 姓名姓名: 喜愛的運(yùn)動(dòng)喜愛的運(yùn)動(dòng): 例:獲取以例:獲取以POST方式提交的信息方式提交的信息 我的愛好我的愛好PHP的字符串的字符串v PHP規(guī)定字符串的兩邊必須加上單引號(hào)(規(guī)定字符串的兩邊必須加上單引號(hào)()或雙引號(hào))或雙引號(hào)() 單引號(hào)表示包含的是純粹的字符串單引號(hào)

9、表示包含的是純粹的字符串 雙引號(hào)中可以包含字符串和變量名。雙引號(hào)中可以包含字符串和變量名。 雙引號(hào)中如果包含變量名則會(huì)被當(dāng)成變量,會(huì)自動(dòng)被雙引號(hào)中如果包含變量名則會(huì)被當(dāng)成變量,會(huì)自動(dòng)被替換成變量值替換成變量值 字符串用法例字符串用法例?php $a=tang;$b=10;echo 你好你好$a; /使用單引號(hào)輸出使用單引號(hào)輸出$aecho ; echo 你好你好$a; /使用雙引號(hào)輸出變量使用雙引號(hào)輸出變量echo 你是第你是第 $b 次光臨次光臨; ? 雙引號(hào)支持的轉(zhuǎn)義字符及含義雙引號(hào)支持的轉(zhuǎn)義字符及含義 n: 換行換行r: 回車回車t: Tab: 雙引號(hào)雙引號(hào): 反斜杠反斜杠$: 美元符美

10、元符$常用字符串函數(shù)常用字符串函數(shù)v int strlen(string str): 字符串長(zhǎng)度(一個(gè)中文字符算字符串長(zhǎng)度(一個(gè)中文字符算2個(gè)個(gè)字節(jié))字節(jié))v int strcmp(string str1, string str2) :字符串比較字符串比較 若若str1str2,則返回,則返回-1; 若若str1=str2,則返回,則返回0; 否則返回否則返回1。v int strpos(string str, string find) :字符串定位:字符串定位 返回子串返回子串find在在str中第中第1次出現(xiàn)的位置,若次出現(xiàn)的位置,若str中不存中不存find子串則返回子串則返回false

11、。v string substr(string str, int start, int length):截?。航厝∽哟哟掌诤蜁r(shí)間函數(shù)日期和時(shí)間函數(shù)v string date(string format, int stamp) 返回時(shí)間戳指定的日期和時(shí)間返回時(shí)間戳指定的日期和時(shí)間. 如果不指定時(shí)間戳如果不指定時(shí)間戳, 這是當(dāng)這是當(dāng)前日期和時(shí)間前日期和時(shí)間.date()常用常用format參數(shù)參數(shù)參數(shù)參數(shù)說說 明明返回值例子返回值例子d2位數(shù)字表示月份中的第幾天位數(shù)字表示月份中的第幾天01到到31w1位數(shù)字表示星期幾位數(shù)字表示星期幾0(周日)到(周日)到6(周六)(周六)m m2位數(shù)字位數(shù)字表

12、示月份表示月份0101到到1212Y4位數(shù)字完整表示的年份位數(shù)字完整表示的年份如如1999或或2003y2位數(shù)字表示的年份位數(shù)字表示的年份如如99或或03h小時(shí),小時(shí),12小時(shí)格式,小時(shí)格式,2位數(shù)字位數(shù)字01到到12H小時(shí),小時(shí),24小時(shí)格式,小時(shí)格式,2位數(shù)字位數(shù)字00到到23i分鐘數(shù),分鐘數(shù),2位數(shù)字位數(shù)字00到到59s秒數(shù),秒數(shù),2位數(shù)字位數(shù)字00到到59 日期和時(shí)間函數(shù)日期和時(shí)間函數(shù)vint time() 返回當(dāng)前時(shí)間的時(shí)間戳。返回當(dāng)前時(shí)間的時(shí)間戳。 時(shí)間戳是指從時(shí)間戳是指從1970/1/1日日0:0:0到指定日期所經(jīng)過到指定日期所經(jīng)過的秒數(shù)。的秒數(shù)。 ?php$nextWeek =

13、 time() + (7 * 24 * 60 * 60); /1周周=7天天*24小時(shí)小時(shí)*60分分*60秒秒echo 現(xiàn)在是:現(xiàn)在是:. date(Y-m-d) .;echo 下一周是下一周是: . date(Y-m-d, $nextWeek) ;? 日期和時(shí)間函數(shù)日期和時(shí)間函數(shù)vint mktime(時(shí)時(shí),分分,秒秒,月月,日日,年年) 返回自行設(shè)置的時(shí)間的時(shí)間戳。返回自行設(shè)置的時(shí)間的時(shí)間戳。 echo date(Y-m-d,mktime(0,0,0,12,36,2015); echo date(Y-m-d,mktime(0,0,0,date(m), date(d)+12,date(Y);

14、 條件控制語(yǔ)句條件控制語(yǔ)句條件控制語(yǔ)句條件控制語(yǔ)句v1. 單分支選擇單分支選擇if語(yǔ)句語(yǔ)句 if(條件表達(dá)式條件表達(dá)式) 語(yǔ)句塊語(yǔ)句塊 v2. 雙分支選擇雙分支選擇ifelse語(yǔ)句語(yǔ)句if (條件表達(dá)式條件表達(dá)式) 語(yǔ)句塊語(yǔ)句塊1 else 語(yǔ)句塊語(yǔ)句塊2 條件控制語(yǔ)句條件控制語(yǔ)句v 3. 多分支選擇多分支選擇ifelseifelse語(yǔ)句語(yǔ)句 v 4. switch/case語(yǔ)句語(yǔ)句switch(變量或算術(shù)表達(dá)式變量或算術(shù)表達(dá)式)case(常量常量1): 語(yǔ)句塊語(yǔ)句塊1; break;case(常量常量2): 語(yǔ)句塊語(yǔ)句塊2; break;case(常量常量n):語(yǔ)句塊語(yǔ)句塊n; break;

15、default: 語(yǔ)句塊語(yǔ)句塊n+1循環(huán)控制語(yǔ)句循環(huán)控制語(yǔ)句循環(huán)控制語(yǔ)句循環(huán)控制語(yǔ)句v1. for循環(huán)循環(huán)for (初始表達(dá)式初始表達(dá)式; 循環(huán)條件表達(dá)式循環(huán)條件表達(dá)式; 計(jì)數(shù)器表達(dá)式計(jì)數(shù)器表達(dá)式) 循環(huán)體語(yǔ)句塊循環(huán)體語(yǔ)句塊 v2. while循環(huán)循環(huán) while (條件表達(dá)式條件表達(dá)式) 循環(huán)體語(yǔ)句塊循環(huán)體語(yǔ)句塊 循環(huán)控制語(yǔ)句循環(huán)控制語(yǔ)句v 3. do循環(huán)循環(huán) do 循環(huán)體語(yǔ)句塊循環(huán)體語(yǔ)句塊 while (條件表達(dá)式條件表達(dá)式); v 4. break語(yǔ)句語(yǔ)句 終止循環(huán),執(zhí)行循環(huán)語(yǔ)句的下一條語(yǔ)句終止循環(huán),執(zhí)行循環(huán)語(yǔ)句的下一條語(yǔ)句v 5. continue語(yǔ)句語(yǔ)句 中斷當(dāng)前的循環(huán),執(zhí)行下一個(gè)循

16、環(huán)中斷當(dāng)前的循環(huán),執(zhí)行下一個(gè)循環(huán)PHP數(shù)組數(shù)組 v PHP數(shù)組的特點(diǎn)數(shù)組的特點(diǎn) 數(shù)組索引數(shù)組索引(下標(biāo)或鍵下標(biāo)或鍵)的值可以是數(shù)值也可以是字符串的值可以是數(shù)值也可以是字符串 索引值是整數(shù)的稱為索引值是整數(shù)的稱為索引數(shù)組索引數(shù)組 索引值是字符串的稱為索引值是字符串的稱為關(guān)聯(lián)數(shù)組關(guān)聯(lián)數(shù)組 數(shù)組長(zhǎng)度可以自由變化數(shù)組長(zhǎng)度可以自由變化 同一數(shù)組中各元素的數(shù)據(jù)類型可以不同同一數(shù)組中各元素的數(shù)據(jù)類型可以不同 數(shù)組的創(chuàng)建數(shù)組的創(chuàng)建使用使用array()函數(shù)創(chuàng)建數(shù)組函數(shù)創(chuàng)建數(shù)組v簡(jiǎn)單形式簡(jiǎn)單形式:索引值自動(dòng)分配為從索引值自動(dòng)分配為從0開始的正整數(shù)開始的正整數(shù) $citys=array( 長(zhǎng)沙長(zhǎng)沙,衡陽(yáng)衡陽(yáng),常德

17、常德,湘潭湘潭);v完整形式完整形式:分別指定索引值和元素值分別指定索引值和元素值, 索引和值由索引和值由=連接連接 $citys=array(cs=長(zhǎng)沙長(zhǎng)沙,hy=衡陽(yáng)衡陽(yáng),cd=常德常德,xt=湘潭湘潭);索引索引值值訪問數(shù)組元素訪問數(shù)組元素v 數(shù)組名數(shù)組名索引索引 如:如:$name=$citys3; echo $cityscs; v 遍歷數(shù)組元素遍歷數(shù)組元素$citys=array( “沈陽(yáng)沈陽(yáng)”,“長(zhǎng)春長(zhǎng)春”,“哈爾濱哈爾濱”,“大連大連);for(i=0; icount($citys); i+)echo $citysi;訪問整個(gè)數(shù)組訪問整個(gè)數(shù)組v 數(shù)組名代表整個(gè)數(shù)組,將數(shù)組名賦值給

18、變量能夠復(fù)制該數(shù)組名代表整個(gè)數(shù)組,將數(shù)組名賦值給變量能夠復(fù)制該數(shù)組數(shù)組 v 數(shù)組名前加數(shù)組名前加“&”表示該數(shù)組的地址表示該數(shù)組的地址 foreach循環(huán)語(yǔ)句循環(huán)語(yǔ)句foreach語(yǔ)句專門用于遍歷數(shù)組元素語(yǔ)句專門用于遍歷數(shù)組元素v格式格式1:foreach ($數(shù)組名數(shù)組名 as $值值) . v格式格式2:foreach ($數(shù)組名數(shù)組名 as $索引索引=$值值) . ?php $colors = array(Blue, red, green, yellow); foreach ($colors as $color) echo “Your favorite color is $co

19、lor; $ages = array(Bob = 42, Mary = 43); foreach ($ages as $name = $age) echo $name is $age years old ; ?常用數(shù)組的排序和查找函數(shù)常用數(shù)組的排序和查找函數(shù)v sort(array arr) 根據(jù)元素值對(duì)數(shù)組排序,并用數(shù)字根據(jù)元素值對(duì)數(shù)組排序,并用數(shù)字0、1、2、 替換替換原來的鍵。原來的鍵。v asort(array arr) 根據(jù)元素值對(duì)數(shù)組排序并保持原來的鍵和值的對(duì)應(yīng)關(guān)根據(jù)元素值對(duì)數(shù)組排序并保持原來的鍵和值的對(duì)應(yīng)關(guān)系。系。v ksort(array arr) 根據(jù)元素鍵對(duì)數(shù)組排序并保持原

20、來的鍵和值的對(duì)應(yīng)關(guān)根據(jù)元素鍵對(duì)數(shù)組排序并保持原來的鍵和值的對(duì)應(yīng)關(guān)系。系。常用數(shù)組的排序和查找函數(shù)常用數(shù)組的排序和查找函數(shù)v array_search(mixed value, array arr, bool strict) 在數(shù)組中查找。如果找到了該值,匹配元素的鍵名會(huì)在數(shù)組中查找。如果找到了該值,匹配元素的鍵名會(huì)被返回。如果沒找到,則返回被返回。如果沒找到,則返回false。v array_key_exists(mixed key, array arr) 判斷某個(gè)數(shù)組中是否存在指定的鍵名判斷某個(gè)數(shù)組中是否存在指定的鍵名 key,如果該,如果該 key 存在,則返回存在,則返回 true,否則

21、返回,否則返回 false。 Sorting 31, Al = 27, Gandalf = wizzard, Betty = 42, Frodo = hobbit); ? Original Array $value) print($key = $value ); $new = $original; sort($new); ? Array sorted with sort $value) print($key = $value ); $new = $original; asort($new); ? Array sorted with asort $value) print($key = $val

22、ue ); $new = $original; ksort($new); ? Array sorted with ksort $value) print($key = $value ); ? 數(shù)組與字符串間的轉(zhuǎn)換數(shù)組與字符串間的轉(zhuǎn)換v 將字符串拆成數(shù)組將字符串拆成數(shù)組 array explode(seperator, string, limit) 將字符串以該字符串中的將字符串以該字符串中的seperator為分隔符進(jìn)行拆為分隔符進(jìn)行拆分分, 并把拆分出來的子串作為元素形成一維數(shù)組并把拆分出來的子串作為元素形成一維數(shù)組. limit指定數(shù)組元素的最大個(gè)數(shù)指定數(shù)組元素的最大個(gè)數(shù)v 將數(shù)組合并成字

23、符串將數(shù)組合并成字符串 string implode(connector, array) 把數(shù)組中的元素由把數(shù)組中的元素由connector連接形成一個(gè)字符串連接形成一個(gè)字符串.多維數(shù)組多維數(shù)組創(chuàng)建多維數(shù)組創(chuàng)建多維數(shù)組 v$arr = array(array(玫瑰玫瑰,百合百合,蘭花蘭花), array(蘋果蘋果,香蕉香蕉,葡萄葡萄,龍眼龍眼) ); 玫瑰玫瑰百合百合蘭花蘭花蘋果蘋果香蕉香蕉葡萄葡萄龍眼龍眼由于這個(gè)語(yǔ)句沒有給索引賦值,默認(rèn)的索引如下由于這個(gè)語(yǔ)句沒有給索引賦值,默認(rèn)的索引如下00000101020210101111 12121313訪問多維數(shù)組的元素訪問多維數(shù)組的元素 v 使用使

24、用“數(shù)組名數(shù)組名 索引索引11索引索引2”2”的形式的形式 訪問二維數(shù)組元素訪問二維數(shù)組元素例如:例如:echo $arr12;/訪問數(shù)組元素,輸出葡萄訪問數(shù)組元素,輸出葡萄$arr03=茉莉茉莉; /添加數(shù)組元素添加數(shù)組元素$arr13=桂圓桂圓; /修改數(shù)組元素修改數(shù)組元素unset($arr10);/刪除數(shù)組元素刪除數(shù)組元素print_r($arr); /輸出數(shù)組的結(jié)構(gòu)輸出數(shù)組的結(jié)構(gòu)v 輸出結(jié)果為:輸出結(jié)果為:葡萄葡萄 Array (0 = Array ( 0 = 玫瑰玫瑰 1 = 百合百合 2 = 蘭花蘭花 3 = 茉莉茉莉 ) 1 = Array ( 1 = 香蕉香蕉 2 = 葡萄葡

25、萄 3 = 桂圓桂圓 ) 函數(shù)的定義和調(diào)用函數(shù)的定義和調(diào)用v函數(shù)的定義語(yǔ)法格式:函數(shù)的定義語(yǔ)法格式:function 函數(shù)名函數(shù)名 (形參形參1, 形參形參2, , 形參形參n) 函數(shù)體函數(shù)體return 返回值返回值 函數(shù)的調(diào)用函數(shù)的調(diào)用v 調(diào)用形式為:調(diào)用形式為:函數(shù)名函數(shù)名(實(shí)參實(shí)參1, 實(shí)參實(shí)參2, , 實(shí)參實(shí)參n);?phpfunction hello($n,$str) for($i=0;$i 變量的作用域變量的作用域 v 局部變量:定義在函數(shù)內(nèi)部的,只有這個(gè)函數(shù)內(nèi)的代碼局部變量:定義在函數(shù)內(nèi)部的,只有這個(gè)函數(shù)內(nèi)的代碼才可使用該變量才可使用該變量v 全局變量:定義在所有函數(shù)外的,則其

26、作用域是整個(gè)全局變量:定義在所有函數(shù)外的,則其作用域是整個(gè)PHP文件,減去用戶自定義的函數(shù)內(nèi)部文件,減去用戶自定義的函數(shù)內(nèi)部v 函數(shù)內(nèi)部不能直接引用全局變量。要在函數(shù)內(nèi)部引用全函數(shù)內(nèi)部不能直接引用全局變量。要在函數(shù)內(nèi)部引用全局變量必須使用關(guān)鍵字局變量必須使用關(guān)鍵字global來聲明來聲明變量的作用域例題變量的作用域例題v使用使用global關(guān)鍵字關(guān)鍵字 類與對(duì)象類與對(duì)象 v 類的定義:類的定義:class 類名類名定義成員變量定義成員變量定義成員函數(shù)定義成員函數(shù) userName; ? 類與對(duì)象類與對(duì)象 對(duì)象的定義:對(duì)象的定義:v使用使用new關(guān)鍵字來創(chuàng)建對(duì)象關(guān)鍵字來創(chuàng)建對(duì)象 $user=ne

27、w userInfo();v可使用對(duì)象來訪問類中的成員變量或成員方法可使用對(duì)象來訪問類中的成員變量或成員方法 $user=new userInfo(); echo $user-userName;/訪問類中的變量訪問類中的變量 $user-output();/訪問類中的函數(shù)訪問類中的函數(shù) v注意:注意:PHP中對(duì)象的成員操作符是中對(duì)象的成員操作符是“-”而不是點(diǎn)而不是點(diǎn)“.”。操作操作XML文檔文檔v 創(chuàng)建創(chuàng)建XMLXML對(duì)象對(duì)象 $dom=new DOMDocument(string version, string encoding) v 加載加載XMLXML數(shù)據(jù)數(shù)據(jù) 加載加載XMLXML字符

28、串字符串: : $dom-loadXML(string source , int options) 加載加載XMLXML文檔文檔: : $dom-load(string filename , int options) 操作操作XML文檔文檔v 輸出輸出XML對(duì)象內(nèi)容對(duì)象內(nèi)容 輸出輸出XML字符串:字符串: $dom-saveXML(DOMNode node , integer options) 輸出到文件:輸出到文件: $dom-save(string filename , integer options) 操作操作XML文檔文檔?php /用用DOMDOM裝入裝入XMLXML文檔然后輸出文檔

29、然后輸出XMLXML文檔文檔 $xmldata = 子節(jié)點(diǎn)內(nèi)容子節(jié)點(diǎn)內(nèi)容; $dom = new DOMDocument(1.0); /創(chuàng)創(chuàng)建XML對(duì)對(duì)象 $dom-loadXML($xmldata); /加載載XML文檔檔 print $dom-saveXML(); /輸出輸出XML字符串字符串?操作操作XML文檔文檔v XPath表達(dá)式的求值表達(dá)式的求值1. 創(chuàng)建創(chuàng)建XPath對(duì)象對(duì)象$xpath = new DOMXpath(DOMNode node);2. 對(duì)對(duì)XPath表達(dá)式求值,結(jié)果為節(jié)點(diǎn)列表表達(dá)式求值,結(jié)果為節(jié)點(diǎn)列表$elements = $xpath-query(string

30、xpath , DOMNod contextNode);操作操作XML文檔文檔load(“catalog.xml”); /加載載XML文檔檔 $xpath=new DOMXpath($doc); /創(chuàng)創(chuàng)建Xpath對(duì)對(duì)象 /對(duì)對(duì)xpath表達(dá)達(dá)式進(jìn)進(jìn)行求值值 $elements=$xpath-query(“/*price10”); /遍歷歷求值結(jié)值結(jié)果的節(jié)節(jié)點(diǎn)列表 foreach ($elements as $element) echo $element-textContent, ;? 操作操作XML文檔文檔v XSL轉(zhuǎn)換轉(zhuǎn)換1. 創(chuàng)建創(chuàng)建XSLT對(duì)象對(duì)象$proc = new XSLTPro

31、cessor(); 2. 導(dǎo)入導(dǎo)入XSL樣式表樣式表, 參數(shù)為參數(shù)為XSL樣式表的文檔對(duì)象樣式表的文檔對(duì)象 $proc-importStylesheet(DOMNode xsl);3. 進(jìn)行進(jìn)行XSL轉(zhuǎn)換轉(zhuǎn)換, 參數(shù)為參數(shù)為XML文檔對(duì)象文檔對(duì)象, 結(jié)果為字符串結(jié)果為字符串 $proc-transformToXML(DOMNode xml);操作操作XML文檔文檔load(cdcatalog.xsl); $xmlDoc = new DOMDocument(); $xmlDoc-load(cdcatalog.xml); $proc = new XSLTProcessor(); $proc-imp

32、ortStylesheet($xslDoc); echo $proc-transformToXML($xmlDoc);?操作操作XML文檔文檔v 有關(guān)對(duì)象有關(guān)對(duì)象DOMDocument其它的屬性和方法請(qǐng)參考第其它的屬性和方法請(qǐng)參考第5章的相關(guān)內(nèi)容,此處不再重復(fù)。章的相關(guān)內(nèi)容,此處不再重復(fù)。操作操作XML文檔文檔綜合實(shí)例:留言板綜合實(shí)例:留言板v程序及功能列表:程序及功能列表: index.php:主頁(yè)面,顯示留言列表:主頁(yè)面,顯示留言列表 note_input.html:留言輸入頁(yè)面:留言輸入頁(yè)面 note_save.php:留言保存頁(yè)面,把用戶在留言輸入:留言保存頁(yè)面,把用戶在留言輸入頁(yè)面輸

33、入的留言信息保存到頁(yè)面輸入的留言信息保存到XML文件里文件里 deletenotes.php:留言刪除頁(yè)面,刪除被勾選的留:留言刪除頁(yè)面,刪除被勾選的留言并把更新保存到言并把更新保存到XML文件里文件里 note.xml:以:以XML格式保存的留言信息格式保存的留言信息 dispdetails.xsl:留言明細(xì)輸出:留言明細(xì)輸出XSL轉(zhuǎn)換樣式表轉(zhuǎn)換樣式表顯示留言版 function deleteNotes(oForm) var chkbx=oForm.getElementsByTagName(input); var rows=false; for(var i=0; ichkbx.length;

34、 i+) if(chkbxi.type=checkbox & chkbxi.checked) rows = true; break; if(!rows) alert(沒有要?jiǎng)h除的留言,n請(qǐng)勾選要?jiǎng)h除的留言。); return false; if(confirm(要?jiǎng)h除所勾選的留言嗎?) return true; else return false; table border-collapse:collapse; table,td,th border:1px solid black; .button border:0px;font-weight:bold;留 言 板序號(hào)作者留言內(nèi)容時(shí)間I

35、P地址load(dispdetails.xsl); $xmlDoc = new DOMDocument(); $xmlDoc-load(note.xml); /進(jìn)行XSL轉(zhuǎn)換 $proc = new XSLTProcessor(); $proc-importStylesheet($xslDoc); echo $proc-transformToXML($xmlDoc);?輸入留言 index.php輸入留言 function goMain() location.href=index.php; function checkinput() input=document.getElementById(

36、user_name); if(input.value=) alert(輸入項(xiàng)署名不能為空。); return false; input=document.getElementById(post_contents); if(input.value=) alert(輸入項(xiàng)留言不能為空。); return false; return true; .in width:220px; 請(qǐng)輸入留言 署名: 留言: note-input.html提交結(jié)果?php $fn=note.xml; date_default_timezone_set(Asia/Shanghai); $name = $_POSTuser_name; $contents = $_POSTpost_contents; $ip = $_SERVERREMOTE_ADDR; $tm = date(Y/m/d H:i); /轉(zhuǎn)換回車符 $contents = str_replace(n,$contents); /創(chuàng)建XML對(duì)象 $xmlDom=new DOMDocument(1.0,utf-8); /加載XML文檔 if(file_exists($fn) $xmlDom - load($fn); else $xmlDom - loadXML

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論