




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、php 程序設(shè)計(jì) 實(shí)驗(yàn)指導(dǎo)書 主編教師:史朝陽(yáng) 鄭大軟件學(xué)院 php 程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)書 1 目錄目錄 實(shí)驗(yàn)一實(shí)驗(yàn)一 架設(shè)架設(shè) windows 下的下的 php 開發(fā)測(cè)試服務(wù)器開發(fā)測(cè)試服務(wù)器 .4 0. 實(shí)驗(yàn)準(zhǔn)備實(shí)驗(yàn)準(zhǔn)備.4 0.1 系統(tǒng)環(huán)境和 php 相關(guān)軟件、開發(fā)工具.4 0.2 實(shí)驗(yàn)?zāi)康?4 0.3 實(shí)驗(yàn)中的路徑說明.4 1. php 的安裝和配置的安裝和配置.4 1.1 安裝.4 1.2 配置.5 2. apache 的安裝和配置的安裝和配置.5 2.1 安裝軟件.5 2.2 配置服務(wù).5 3. apache : web 服務(wù)的安裝和啟動(dòng)服務(wù)的安裝和啟動(dòng).6 4. 測(cè)試測(cè)試 apach
2、e 服務(wù)器對(duì)服務(wù)器對(duì) php 的支持能力的支持能力.6 5. mysql 的安裝和啟動(dòng)數(shù)據(jù)庫(kù)服務(wù)器的安裝和啟動(dòng)數(shù)據(jù)庫(kù)服務(wù)器 .6 6. 測(cè)試測(cè)試 php 與與 mysql 的協(xié)同的協(xié)同 .7 實(shí)驗(yàn)二實(shí)驗(yàn)二 php 基本語(yǔ)法實(shí)驗(yàn)基本語(yǔ)法實(shí)驗(yàn).8 0 實(shí)驗(yàn)準(zhǔn)備實(shí)驗(yàn)準(zhǔn)備.8 0.1 實(shí)驗(yàn)環(huán)境和相關(guān)工具軟件.8 0.2 實(shí)驗(yàn)?zāi)康暮蛢?nèi)容.8 0.3 實(shí)驗(yàn)中的約定.9 1 詞法結(jié)構(gòu)詞法結(jié)構(gòu).9 1.1 大小寫敏感.9 1.2 語(yǔ)句和分號(hào).10 1.3 注釋.10 1.4 標(biāo)識(shí)符(常量標(biāo)識(shí)符).11 2 數(shù)據(jù)類型數(shù)據(jù)類型.11 2.1 字符串.11 2.2 布爾型.12 2.3 數(shù)組型.12 2.4 對(duì)象型
3、.13 2.5 資源型.13 2.6 數(shù)據(jù)類型的檢測(cè).15 3 變量變量.15 2 3.1 變量的變量.15 3.2 變量的作用域.17 3.3 垃圾收集.18 4. 表達(dá)式和操作符表達(dá)式和操作符.20 4.1 隱式類型轉(zhuǎn)換.20 4.2 字符串連接操作符.21 4.3 自增自減操作符.22 4.4 類型轉(zhuǎn)換操作符.22 4.5 其他操作符.23 5.流控制語(yǔ)句流控制語(yǔ)句.23 5.1 if語(yǔ)句.23 5.2 switch語(yǔ)句.26 5.3 while語(yǔ)句.27 5.4 for語(yǔ)句.28 5.5 foreach語(yǔ)句.28 5.6 exit語(yǔ)句.28 5.7 return語(yǔ)句.28 6.包含代碼
4、包含代碼.28 7.在頁(yè)面中嵌入在頁(yè)面中嵌入 php.30 實(shí)驗(yàn)三實(shí)驗(yàn)三 html 基礎(chǔ)實(shí)驗(yàn)基礎(chǔ)實(shí)驗(yàn).31 0 實(shí)驗(yàn)準(zhǔn)備實(shí)驗(yàn)準(zhǔn)備.31 0.1 實(shí)驗(yàn)環(huán)境和相關(guān)工具軟件.31 0.2 實(shí)驗(yàn)?zāi)康?31 0.3 實(shí)驗(yàn)內(nèi)容.31 0.4 實(shí)驗(yàn)中的說明.32 1. html 基本架構(gòu)基本架構(gòu).32 2. 最簡(jiǎn)單的表單和表單對(duì)象的使用最簡(jiǎn)單的表單和表單對(duì)象的使用.32 實(shí)驗(yàn)四實(shí)驗(yàn)四 mysql 基礎(chǔ)實(shí)驗(yàn)基礎(chǔ)實(shí)驗(yàn) .33 0. 實(shí)驗(yàn)準(zhǔn)備實(shí)驗(yàn)準(zhǔn)備.33 0.1 實(shí)驗(yàn)環(huán)境和相關(guān)工具軟件.33 0.2 實(shí)驗(yàn)?zāi)康?33 0.3 實(shí)驗(yàn)內(nèi)容.33 實(shí)驗(yàn)五:系統(tǒng)建模與前臺(tái)(新聞列表實(shí)驗(yàn)五:系統(tǒng)建模與前臺(tái)(新聞列表/新聞查
5、看)設(shè)計(jì)新聞查看)設(shè)計(jì).34 0. 實(shí)驗(yàn)準(zhǔn)備實(shí)驗(yàn)準(zhǔn)備.34 0.1 實(shí)驗(yàn)環(huán)境和相關(guān)工具軟件.34 鄭大軟件學(xué)院 php 程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)書 3 0.2 實(shí)驗(yàn)?zāi)康暮蛢?nèi)容.34 1. 實(shí)驗(yàn)具體環(huán)節(jié)實(shí)驗(yàn)具體環(huán)節(jié).34 1.1 系統(tǒng)建模.34 1.2 系統(tǒng)實(shí)現(xiàn).35 實(shí)驗(yàn)六:后臺(tái)管理(新聞管理實(shí)驗(yàn)六:后臺(tái)管理(新聞管理/人員管理)程序設(shè)計(jì)人員管理)程序設(shè)計(jì).37 0. 實(shí)驗(yàn)準(zhǔn)備實(shí)驗(yàn)準(zhǔn)備.37 0.1 實(shí)驗(yàn)環(huán)境和相關(guān)工具軟件.37 0.2 實(shí)驗(yàn)?zāi)康暮蛢?nèi)容.37 1. 實(shí)驗(yàn)具體環(huán)節(jié)實(shí)驗(yàn)具體環(huán)節(jié).37 1.1 新聞錄入程序設(shè)計(jì):.37 1.2 新聞修改程序設(shè)計(jì):.38 1.3 人員信息添加程序設(shè)計(jì):.38
6、實(shí)驗(yàn)七:后臺(tái)管理(身份認(rèn)證與后臺(tái)系統(tǒng)集成)程序設(shè)計(jì)實(shí)驗(yàn)七:后臺(tái)管理(身份認(rèn)證與后臺(tái)系統(tǒng)集成)程序設(shè)計(jì).39 0. 實(shí)驗(yàn)準(zhǔn)備實(shí)驗(yàn)準(zhǔn)備.39 0.1 實(shí)驗(yàn)環(huán)境和相關(guān)工具軟件.39 0.2 實(shí)驗(yàn)?zāi)康暮蛢?nèi)容.39 1. 實(shí)驗(yàn)具體環(huán)節(jié)實(shí)驗(yàn)具體環(huán)節(jié).40 1.1 認(rèn)證界面denglu.php:.40 1.2 認(rèn)證程序jiancha.php 在數(shù)據(jù)庫(kù)中檢查具有該帳號(hào)和密碼的用戶是否存在,存在則取出該用戶資料 (如renyuanid)存到session變量中去,然后轉(zhuǎn)向houtaiguanli.php。.40 1.3 身份把關(guān)程序.40 1.4 后臺(tái)管理集成界面(總界面)houtaiguanli.php 集成
7、后臺(tái)管理所有功能,是通向各管理功能程序的 領(lǐng)航處、出發(fā)點(diǎn)。 實(shí)現(xiàn)很簡(jiǎn)單,使用 html 的超鏈接技術(shù)即可實(shí)現(xiàn)。.41 1.5 新聞系統(tǒng)后臺(tái)程序關(guān)系流程圖.41 4 實(shí)驗(yàn)一 架設(shè) linux 下的 php 開發(fā)測(cè)試服務(wù)器 0. 實(shí)驗(yàn)準(zhǔn)備 0.1 系統(tǒng)環(huán)境和 php 相關(guān)軟件、開發(fā)工具 操作系統(tǒng):linux(red hat) 具體到的機(jī)房環(huán)境,請(qǐng)?jiān)?linux 環(huán)境下做 web 服務(wù)器:apache 2.0.63 (壓縮包文件:apache_2.0.63-win32.exe) php:php5.2.11 (壓縮包文件:php-5.2.11-win32.zip) 數(shù)據(jù)庫(kù):mysql 5.1.39 (
8、壓縮包文件:mysql-essential-5.1.39-win32.zip) 腳本編輯器: editplus(已安裝好):圖形化編輯環(huán)境,速度慢,功能多,常用于復(fù)雜網(wǎng)頁(yè)設(shè)計(jì) 注: php 相關(guān)軟件、開發(fā)工具的獲得:相關(guān)軟件、開發(fā)工具的獲得:在我的 上下載 0.2 實(shí)驗(yàn)?zāi)康?能夠快速部署 linux 下的開發(fā)測(cè)試服務(wù)器環(huán)境,以滿足同學(xué)們?cè)谒奚?、家中自己機(jī)器上學(xué)習(xí)、研究和開發(fā) php 程序設(shè)計(jì)的需要或是實(shí)際工作的需要。 0.3 實(shí)驗(yàn)中的路徑說明 為說明問題的簡(jiǎn)單起見,路徑為比較簡(jiǎn)單的示例路徑,但已經(jīng)過測(cè)試。實(shí)際運(yùn)用時(shí),路徑完全可根據(jù)自 己需要設(shè)定。 1. p
9、hp 的安裝和配置 1.1 安裝 下載 php-5.2.5-win32.zip 軟件包,不需要安裝,在 c 盤根目錄下建立文件夾 c:php 。將軟 件包解壓縮到本目錄下。 在 c:php 目錄下找到 php.ini-dist 文件,將其名字改為 php.ini ,這是 php 的配置文件。 修改 php.ini 文件,過程如下:(1) 找到 extension_dir=”./” ,改為 extension_dir=”c:/php/ext” (2) 找到 “ ;extension=php_mbstring.dll ”去掉前面的“;”(3) 找到 “ ;extension=php_mysql.d
10、ll ” 去掉前面的“;”(4) 找到 “ ;extension=php_mysqli.dll ” 去 掉前面的“;” 修改完 php.ini 文件后,保存該文件,并復(fù)制到 c:windows 目錄下。 將 c:phplibmysql.dll 復(fù)制到 c:windowssystem32 目錄下 注:操作系統(tǒng)安裝目錄,具體位置見表1 鄭大軟件學(xué)院 php 程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)書 5 表 1:操作系統(tǒng)安裝目錄 操作系統(tǒng)操作系統(tǒng)安裝目錄 1.2 配置 通過修改 php.ini 中的參數(shù)來(lái)實(shí)現(xiàn)。對(duì) mysql 而言,若無(wú)特殊要求,一般無(wú)須配置。因?yàn)?php 在 php.ini 中已經(jīng)做好了對(duì) mysql
11、的配置,所以一般無(wú)須修改。 2. apache 的安裝和配置 2.1 安裝軟件 雙擊 apache_2.0.63-win32.exe,按照提示,選擇 custom 安裝方式,然后一路默認(rèn),即完成安裝。 注意:如果您的電腦安裝了 iis,請(qǐng)先到控制面板關(guān)閉 iis 服務(wù),因?yàn)?iis 服務(wù)器與 apache 服務(wù)器都使用 一個(gè)端口。 2.2 配置服務(wù) 單擊開始-程序- apache http server 2.2- configure apache server- edit the apache httpd.conf configuration file,打開 apache 的配置文件 http
12、d.conf,按表 2 提示進(jìn)行配置: 注意:每處的配置要想起作用,必須將行首的#號(hào)(注釋符號(hào))去掉;表示一個(gè)或多個(gè)空格 表 2 apache 配置 序號(hào)參數(shù)名和示例參數(shù)值配置方法說明 bindaddress(你所用機(jī)器的 ip 地址) 修改地址綁定(指定服務(wù)器地址) loadmodulephp5_modulec:/php/sapi/php5apache.dll 添加將 php 配置為 apache 的模塊(apache module)方式 port80 修改指定端口 serveradmin(你的郵箱地址,如 ) 修改指明管理員信箱 servernamessl 修改指明主機(jī)名稱 documen
13、trootd:websitehtdocs 修改web 文檔發(fā)布主目錄 修改該處目錄應(yīng)與 web 文檔發(fā)布主目錄一致 scriptalias/php/c:/php/ addtypeapplication/x-httpd-php.php actionapplication/x-httpd-php/php/php.exe 添加指明腳本路徑 指明 php 腳本擴(kuò)展名 指明 php 腳本解釋器程序名 directoryindexindex.htmindex.php 修改指定默認(rèn)文檔 *描述以 httpd.conf 文件的行文順序進(jìn)行 *表中路徑、地址、主機(jī)名、信箱等,實(shí)際配置時(shí)請(qǐng)根據(jù)自己情況進(jìn)行 按表
14、1 所述,參考 apache 配置文件樣本,修改完畢后,保存。 6 測(cè)試配置是否成功。 1)在編輯完成后,我們還可以通過 “開始/程序/apache http server 2.2/configure apache server/test configuration來(lái)測(cè)試配置文件是否有語(yǔ)法錯(cuò)誤等。 2)或者打開瀏覽器敲入:http:/localhost 能否見到服務(wù)器到測(cè)試頁(yè)面。能見到則配置成功。 3. apache : web 服務(wù)的安裝和啟動(dòng) (1)啟動(dòng) apache 服務(wù): 單擊:開始-程序- apache http server 2.2- control apache service-
15、 start。 (默認(rèn)情況下,每次操作系統(tǒng)啟動(dòng)時(shí)自動(dòng)啟動(dòng)該服務(wù),可更改) 4. 測(cè)試 apache 服務(wù)器對(duì) php 的支持能力 測(cè)試目的:檢驗(yàn)配置后的 apache 服務(wù)器是否提供了對(duì) php 腳本的解釋能力(支持 php) 用 editplus 編寫測(cè)試腳本,存為 d:websitehtdocsceshi.php,內(nèi)容為: 說明:phpinfo()是 php 內(nèi)置函數(shù),用來(lái)顯示 php 和 apache 配置信息,在瀏覽器中敲入 http:/localhost/ceshi.php,回車后若顯示類似圖 1 的 php 配置頁(yè)面(以 winxp 下為例) ,則說明你的 apache 服務(wù)器已經(jīng)
16、支持 php 腳本,能夠解釋 php 腳本了;若不顯示類似畫面,則配置有誤,此時(shí)你的 apache 不能夠解釋 php 腳本,需重新配置。 圖 1 5. mysql 的安裝和啟動(dòng)數(shù)據(jù)庫(kù)服務(wù)器 將 mysql-essential-5.1.39-win32.zip 解壓縮后,雙擊 setup.exe,按照提示,選擇 custom 安裝方 式,然后一路默認(rèn),遇到輸入密碼的地方,輸入 123 作為密碼。 測(cè)試安裝是否成功。單擊“開始” ,選擇“mysqlmysql server5.1mysql command line client” ,會(huì)出現(xiàn)如下圖所示的窗口,然后輸入 root 密碼,根據(jù)提示操作即
17、可 鄭大軟件學(xué)院 php 程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)書 7 6. 測(cè)試 php 與 mysql 的協(xié)同 php 方面:準(zhǔn)備測(cè)試腳本方面:準(zhǔn)備測(cè)試腳本 connect.php,存放在,存放在 d:websitehtdocs 下,其內(nèi)容為:下,其內(nèi)容為: 程序 2-13: ? $connection=mysql_connect(,root,123) or die(不能連接到 mysql 數(shù)據(jù)庫(kù):.mysql_error(); echo 已經(jīng)成功連接 mysql 數(shù)據(jù)庫(kù); mysql_select_db(test)or die(不能選擇數(shù)據(jù)庫(kù)); echo 連接test數(shù)據(jù)庫(kù)已經(jīng)成功; ?
18、(1)測(cè)試步驟 在瀏覽器地址欄輸入:http:/localhost/connect.php,回車,顯示如圖 2 所示,則表明 php 與 mysql 能 夠協(xié)同工作了。 圖 2 8 實(shí)驗(yàn)二 php 基本語(yǔ)法實(shí)驗(yàn) 0 實(shí)驗(yàn)準(zhǔn)備 0.1 實(shí)驗(yàn)環(huán)境和相關(guān)工具軟件 具體到的機(jī)房環(huán)境,請(qǐng)?jiān)?windowsxp 環(huán)境下做本實(shí)驗(yàn): 操作系統(tǒng):windowsxp web 服務(wù)器:apache 2.0.63 默認(rèn)發(fā)布文檔路徑:c:apachehtdocs php:php5.2.11 安裝路徑:c:php 數(shù)據(jù)庫(kù):mysql 5.1.39 使用默認(rèn)路徑 腳本編輯器: 記事本 或 editplus-v3.11.46
19、3h 或 macromedia dreamweaver mx 中文版 注意:注意:使用以上腳本編輯器,若要保存為.php 文件,必須在保存時(shí)指明擴(kuò)展名為.php 尤其是記事本,必須在保存時(shí),單擊“保存類型”下拉框,選擇“所有文件(*.*)”類型,然后指定 文件擴(kuò)展名是.php,單擊“保存”按鈕后,保存的文件才能保證是.php 文件。常見錯(cuò)誤是直接保存,導(dǎo)致 保存的文件其實(shí)是文本文件,如 abc.php.txt 等以.txt 為擴(kuò)展名的文本文件。 0.2 實(shí)驗(yàn)?zāi)康暮蛢?nèi)容 實(shí)驗(yàn)?zāi)康模菏炀氄莆?php 語(yǔ)言的基礎(chǔ)語(yǔ)法 實(shí)驗(yàn)內(nèi)容:從 7 個(gè)方面完成 php 基本語(yǔ)法實(shí)際體驗(yàn),分列如下: 一、詞法結(jié)構(gòu)
20、大小寫 語(yǔ)句和分號(hào) 注釋 標(biāo)識(shí)符 二、數(shù)據(jù)類型 字符串型 布爾型 數(shù)組型 對(duì)象型 資源型 各種數(shù)據(jù)類型的檢測(cè) 三、變量 變量的變量 變量的作用域 鄭大軟件學(xué)院 php 程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)書 9 垃圾收集:變量的內(nèi)存管理 四、表達(dá)式和操作符 隱式類型轉(zhuǎn)換 字符串連接操作符 自增和自減操作符 類型轉(zhuǎn)換操作符 其他操作符 五、流控制語(yǔ)句 if 語(yǔ)句 switch 語(yǔ)句 while 語(yǔ)句 for 語(yǔ)句 foreach 語(yǔ)句 exit 語(yǔ)句 return 語(yǔ)句(2-12) 六、包含代碼 七、在 web 頁(yè)面中嵌入 php 0.3 實(shí)驗(yàn)中的約定 所有實(shí)驗(yàn)程序均與講義中的例子相對(duì)應(yīng),如程序 1-1.php,對(duì)
21、應(yīng)講義中的例子例 1-1。 1 詞法結(jié)構(gòu) 1.1 大小寫敏感 預(yù)備知識(shí)預(yù)備知識(shí) 變量區(qū)分大小寫,內(nèi)置結(jié)構(gòu)(while,for,if 等)及關(guān)鍵字(echo,class 等)不區(qū)分大小寫 【2-1】大小寫敏感的例子 php 程序 2-1送到用戶瀏覽器解釋后顯示的結(jié)果(運(yùn)行結(jié)果,顯示在瀏覽器頁(yè)面中 的結(jié)果) 注意:要使運(yùn)行結(jié)果達(dá)到真正分行(和注意:要使運(yùn)行結(jié)果達(dá)到真正分行(和 html 輸出一致)輸出一致) ,請(qǐng)將程序,請(qǐng)將程序 2-1 中的中的n 換成換成,即可實(shí)現(xiàn),即可實(shí)現(xiàn), 如下例如下例 【2-1br】修改程序 2-1 后的程序 2-1br,直接實(shí)現(xiàn)分行(將程序 2-1 中的n 換成) 10
22、 php 程序 2-1br送到用戶瀏覽器解釋后顯示的結(jié)果(運(yùn)行結(jié)果,顯示在 瀏覽器頁(yè)面中的結(jié)果) ? $name=hello1,world1; $name=hello2,world2; $name=hello3,world3; echo $name=$name; echo $name=$name: echo $name=$name; ? 原因:瀏覽器不解釋(或者說不識(shí)別,或忽略)經(jīng)原因:瀏覽器不解釋(或者說不識(shí)別,或忽略)經(jīng) php 解釋解釋n 而成的空白換行,只有遇到而成的空白換行,只有遇到這個(gè)這個(gè) html 中的換行標(biāo)記,才解釋成換行。為了直接達(dá)到預(yù)期換行效果,將不再使用中的換行標(biāo)記,才解
23、釋成換行。為了直接達(dá)到預(yù)期換行效果,將不再使用n,而是使用,而是使用 1.2 語(yǔ)句和分號(hào) 預(yù)備知識(shí)預(yù)備知識(shí) 簡(jiǎn)單語(yǔ)句 復(fù)雜語(yǔ)句 分號(hào)的省略 【2-2】語(yǔ)句和分號(hào) php 程序 2-2送到用戶瀏覽器解釋后顯示的結(jié)果(運(yùn)行結(jié)果, 顯示在瀏覽器頁(yè)面中的結(jié)果) ? if($a=$b) echo 注意:; /簡(jiǎn)單語(yǔ)句 echo $a 的值等于$b 的值; /上面部分為復(fù)雜語(yǔ)句 echo hello,world; /此處分號(hào)可省略 ? 1.3 注釋 預(yù)備知識(shí)預(yù)備知識(shí) 在必要的地方做注釋 注釋的形式及各自的適用處:shell 形式(#)、c+形式(/)、c 形式(/* */) 【2-6】c 形式的注釋作用
24、php 程序 2-6送到用戶瀏覽器解釋后顯示的結(jié)果(運(yùn)行結(jié)果, 顯示在瀏覽器頁(yè)面中的結(jié)果) some stuff you want to be html. now this is regular html 鄭大軟件學(xué)院 php 程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)書 11 1.4 標(biāo)識(shí)符(常量標(biāo)識(shí)符) 預(yù)備知識(shí)預(yù)備知識(shí) 使用 define()設(shè)置常量標(biāo)識(shí)符 【2-7】使用 define()設(shè)置常量標(biāo)識(shí)符 php 程序 2-7送到用戶瀏覽器解釋后顯示的結(jié)果(運(yùn)行結(jié)果, 顯示在瀏覽 顯示在瀏覽器頁(yè)面中的結(jié)果) 2 數(shù)據(jù)類型 2.1 字符串 預(yù)備知識(shí)預(yù)備知識(shí) 字符串的表示 單引號(hào)和雙引號(hào)在字符轉(zhuǎn)義上的不同作用:?jiǎn)我?hào)僅
25、轉(zhuǎn)義反斜杠和單引號(hào) 【2-8】單引號(hào)和雙引號(hào)在字符轉(zhuǎn)義上的不同作用 php 程序 2-8送到用戶瀏覽器解釋后顯示的結(jié)果(運(yùn)行 結(jié)果,顯示在瀏覽器頁(yè)面中的結(jié)果) ? $name=”sun shoulong”; /雙引號(hào)中的變量值將被輸出 echo “hi,$name”; echo hi,$name;/單引號(hào)中的變量名將被輸出, 因?yàn)閱我?hào)不認(rèn)為$name 是變量 ? 注意:雙引號(hào)中的變量,若前面不加反斜杠注意:雙引號(hào)中的變量,若前面不加反斜杠進(jìn)行轉(zhuǎn)義(將進(jìn)行轉(zhuǎn)義(將$原樣輸出)原樣輸出) ,則在輸出字串的時(shí)候?qū)⑤敵鲎兞浚瑒t在輸出字串的時(shí)候?qū)⑤敵鲎兞?中的值中的值 【2-9】單引號(hào)僅支持的字符轉(zhuǎn)義
26、:反斜杠和單引號(hào) php 程序 2-9送到用戶瀏覽器解釋后顯示的結(jié)果(運(yùn)行結(jié)果, 顯示在瀏覽器頁(yè)面中的結(jié)果) 12 2.2 布爾型 預(yù)備知識(shí)預(yù)備知識(shí) php 中為 false 值的情況 【2-10】判斷布爾值 php 程序 2-10送到用戶瀏覽器解釋后顯示的結(jié)果(運(yùn)行結(jié)果, 顯示在瀏覽器頁(yè)面中的結(jié)果) ? $x=5; $y=”; if($x) echo $x 有一個(gè) true 值; if(!$x) echo $x 有一個(gè) false 值; if($y) echo $y 有一個(gè) true 值; if(!$y) echo $y 有一個(gè) false 值; ? 2.3 數(shù)組型 預(yù)備知識(shí):預(yù)備知識(shí):數(shù)組
27、的創(chuàng)建、遍歷;鍵名:數(shù)組元素的下標(biāo)名稱,一般是從 0 開始的整數(shù),也可以是字符串; 鍵值:數(shù)組元素中存儲(chǔ)的值 【2-11】數(shù)組的創(chuàng)建、遍歷:發(fā)明家記錄 php 程序 2-11送到用戶瀏覽器解釋后顯示的結(jié)果(運(yùn)行結(jié) 果,顯示在瀏覽器頁(yè)面中的結(jié)果) edison, rotary engine=wankel, toilet=crapper); */ #遍歷數(shù)組$person,顯示其內(nèi)容 foreach($person as $name)/訪問每個(gè)鍵 echo “hello,$name”; #遍歷數(shù)組$creator,顯示其內(nèi)容 foreach($creator as $invention=$inve
28、ntor) echo “$invention was created by $inventor”; ? 鄭大軟件學(xué)院 php 程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)書 13 2.4 對(duì)象型 預(yù)備知識(shí)預(yù)備知識(shí) 類:oop 的單元,是包含屬性(變量)和方法(函數(shù))的結(jié)構(gòu)定義 類的定義 對(duì)象的創(chuàng)建、引用其屬性和方法 【2-12】類和對(duì)象的簡(jiǎn)單例子 php 程序 2-12送到用戶瀏覽器解釋后顯示的結(jié)果(運(yùn)行結(jié)果,顯 示在瀏覽器頁(yè)面中的結(jié)果) name=$newname; return $this-name; $ed=new person; $ed-name(edison); printf(“hello,%s”,$ed-na
29、me); $tc=new person; $tc-name(crapper); printf(“l(fā)ook out below,%s”,$tc-name); ? 2.5 資源型 預(yù)備知識(shí):預(yù)備知識(shí):資源的概念:以數(shù)據(jù)庫(kù)應(yīng)用為例,在同時(shí)有眾多的數(shù)據(jù)庫(kù)連接存在時(shí),要進(jìn)行查詢和關(guān)閉連 接等操作,必須指明這些操作是對(duì)哪個(gè)連接的,所以有必要給每個(gè)連接賦予一個(gè)標(biāo)識(shí)值,一般是整數(shù)。 這種標(biāo)識(shí)值的數(shù)據(jù)類型稱為資源型。 資源的回收:程序結(jié)束時(shí)資源自動(dòng)關(guān)閉,資源值被回收;作為局部變量的資源,當(dāng)函數(shù)調(diào)用結(jié)束時(shí),該 變量的值自動(dòng)被 php 收回;顯示地關(guān)閉資源 【2-13】類和對(duì)象的簡(jiǎn)單例子 ? /連接數(shù)據(jù)庫(kù) $hos
30、tname=; $username=; $password=; echo 開始建立與服務(wù)器的連接; /$server_link 為資源型變量 $server_link=mysql_connect($hostname,$username,$password) or die (連接服務(wù)器失敗!程序中斷執(zhí)行!); if($server_link) echo 與服務(wù)器的連接成功!; echo 開始打開數(shù)據(jù)庫(kù) test; /$db_link 為資源型變量 $db_link=mysql_select_db(test,$server_link) or die (連接數(shù)據(jù)庫(kù)失敗!程序中斷執(zhí)行!); 14 /d
31、ie 是 exit 的別名,它們的作用是強(qiáng)制中斷程序執(zhí)行 /若程序在這里終止執(zhí)行,則上面的資源型變量所占內(nèi)存資源將自動(dòng)回收(釋放資源型變量) echo 打開數(shù)據(jù)庫(kù) test 成功!; echo 開始從數(shù)據(jù)庫(kù) test 的表 abc 中取出數(shù)據(jù); /將查詢結(jié)果存入數(shù)組(遍歷記錄集,將記錄集中的數(shù)據(jù)轉(zhuǎn)到數(shù)組) $sql=select * from abc; /$result 為資源型變量 $result=mysql_query($sql,$server_link); $i=0; while($temp_array =mysql_fetch_array($result) $abc_array$i0=
32、$temp_array a; $abc_array $i1=$temp_array b; $abc_array $i2=$temp_array c; $i+; echo 取出數(shù)據(jù)完畢!; mysql_free_result($result);/釋放記錄集,這是顯式地關(guān)閉資源,若程序終止執(zhí)行,該關(guān)閉將自動(dòng)進(jìn)行 echo 開始關(guān)閉與服務(wù)器的連接; /斷開數(shù)據(jù)庫(kù)連接,這也是顯式地使用關(guān)閉函數(shù)回收資源變量 $db_close=mysql_close($server_link);/ $db_close 為布爾型變量 if($db_close) echo 關(guān)閉與服務(wù)器的連接成功!; else exit(關(guān)
33、閉與服務(wù)器的連接失敗!程序中斷執(zhí)行!); echo 開始顯示數(shù)據(jù); /將數(shù)組中的數(shù)據(jù)輸出到瀏覽器(各列以雙等號(hào)間隔) echo a 列數(shù)據(jù)=b 列數(shù)據(jù)=c 列數(shù)據(jù); for($i=0;$icount($abc_array);$i+) echo $abc_array$i0.=. $abc_array$i1.=. $abc_array$i2.; echo 顯示數(shù)據(jù)結(jié)束,程序執(zhí)行完畢。; ? php 解釋結(jié)果(html 輸出) (右鍵單擊該頁(yè)面,在快捷菜單中單擊“查看源文件”命令可看到) 送到用戶瀏覽器解釋后顯示的結(jié)果(運(yùn)行結(jié)果,顯示在瀏覽器頁(yè)面中的結(jié)果) 鄭大軟件學(xué)院 php 程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)書
34、15 2.6 數(shù)據(jù)類型的檢測(cè) 預(yù)備知識(shí)預(yù)備知識(shí) 數(shù)據(jù)類型檢測(cè)函數(shù) 【2-14】數(shù)據(jù)類型檢測(cè) php 程序 2-14送到用戶瀏覽器解釋后顯示的結(jié)果(運(yùn)行結(jié)果,顯示在瀏 覽器頁(yè)面中的結(jié)果) 3 變量 3.1 變量的變量 預(yù)備知識(shí)預(yù)備知識(shí) 變量的概念和作用;變量的聲明和使用;變量的變量 【2-15】php 變量無(wú)類型檢查,無(wú)須聲明,類型隨用隨變 16 php 程序 2-15送到用戶瀏覽器解釋后顯示的結(jié)果(運(yùn)行結(jié)果,顯 示在瀏覽器頁(yè)面中的結(jié)果) ? #php 變量無(wú)類型檢查 $what=fred; echo $what 的值=$what; if(is_string($what) echo $what
35、是字符串型變 量; $what=35; echo $what 的值=$what; if(is_int($what) echo $what 是整型變量 ; $what=array(fred,35,wilma); echo $what 的值為:; foreach($what as $e) echo $e; if(is_array($what) echo $what 是數(shù)組型變量 ; ? 【2-16】空變量的例子 php 程序 2-16送到用戶瀏覽器解釋后顯示的結(jié)果(運(yùn)行 結(jié)果,顯示在瀏覽器頁(yè)面中的結(jié)果) 【2-17】變量的變量 php 程序 2-17送到用戶瀏覽器解釋后顯示的結(jié)果(運(yùn)行結(jié)果, 顯示
36、在瀏覽器頁(yè)面中的結(jié)果) ? #變量的變量 $r=i; $r=1; echo 因?yàn)?r=$r; echo 所以$r=$r; echo 又因?yàn)?r=.$r.; echo 故$r=.$r; echo :-)你明白了嗎?; ? 鄭大軟件學(xué)院 php 程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)書 17 3.2 變量的作用域 預(yù)備知識(shí)預(yù)備知識(shí) 變量按其作用域分為:局部變量、全局變量。靜態(tài)變量、函數(shù)的參數(shù)屬于局部變量;從局部訪問全局變 量的方法;從全局訪問局部變量的方法 【2-19】不能從全局(函數(shù)外部)直接訪問局部變量 php 程序 2-19送到用戶瀏覽器解釋后顯示的結(jié)果(運(yùn)行結(jié) 果,顯示在瀏覽器頁(yè)面中的結(jié)果) 【2-20】從局部
37、訪問全局變量,方法 1:使用 global 關(guān)鍵字聲明 php 程序 2-20送到用戶瀏覽器解釋后顯示的結(jié)果(運(yùn)行結(jié) 果,顯示在瀏覽器頁(yè)面中的結(jié)果) 【2-21】從局部訪問全局變量,方法 2:引用全局變量數(shù)組$globals php 程序 2-21送到用戶瀏覽器解釋后顯示的結(jié)果(運(yùn)行結(jié) 果,顯示在瀏覽器頁(yè)面中的結(jié)果) 18 【2-22】使用靜態(tài)變量的好處::使全局可間接訪問到 php 程序 2-22送到用戶瀏覽器解釋后顯示的結(jié)果(運(yùn)行結(jié)果,顯示 在瀏覽器頁(yè)面中的結(jié)果) ? #使用靜態(tài)變量的方法,強(qiáng)制保留局部變量上 #次調(diào)用結(jié)束時(shí)的值,使全局可間接訪問到 function update_coun
38、ter() static $counter=0;/這個(gè)$counter 是局部的變 量,聲明為靜態(tài),并賦初始值 0 $counter+; echo 局部靜態(tài)變量$counter 這時(shí)的值 =$counter; $counter=10;/這個(gè)$counter 是全局的變量 update_counter(); update_counter(); echo 全局變量$counter 這時(shí)的值=$counter; ? 【2-23】全局不可直接訪問局部變量(可通過將局部變量聲明為靜態(tài)的方法,參見 2-22) php 程序 2-23送到用戶瀏覽器解釋后顯示的結(jié)果(運(yùn)行結(jié)果,顯示 在瀏覽器頁(yè)面中的結(jié)果) ?
39、 #函數(shù)參數(shù)作為一種局部變量,是不能直接被 外部訪問的 function greet($name) echo hello,$name; greet(孫壽龍); if($name=null) echo $name 是一個(gè)空變量,訪問不到!; ? 3.3 垃圾收集 預(yù)備知識(shí)預(yù)備知識(shí) 無(wú)用變量的收回;php 內(nèi)存管理;引用計(jì)算;寫時(shí)復(fù)制 【2-24】php 的寫時(shí)復(fù)制 php 程序 2-24 鄭大軟件學(xué)院 php 程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)書 19 ? #php 通過使用引用計(jì)算和寫時(shí)復(fù)制進(jìn)行內(nèi)存管理從而節(jié)省了時(shí)間和內(nèi)存 #一、寫時(shí)復(fù)制 /對(duì)共享同一首地址的多個(gè)變量,修改其中一個(gè),如$worker,則此時(shí)為$
40、worker 分配新內(nèi)存空間, /將其新元素內(nèi)容寫入該空間,將其舊元素內(nèi)容復(fù)制到該空間 /這就是寫時(shí)復(fù)制 /發(fā)生寫時(shí)復(fù)制,為$worker 開辟新空間,將$worker 最新內(nèi)容復(fù)制到這里,以不影響$other 的內(nèi)容 $worker1=36; /同時(shí)發(fā)生引用計(jì)算:原$worker 與$other 共享的那個(gè)首地址引用的變量名減少 1 個(gè), 只剩下了$other(引用計(jì)數(shù)減少 1) echo 修改數(shù)組$worker 的第二個(gè)元素,發(fā)生寫時(shí)復(fù)制及引用計(jì)算后,; echo 新數(shù)組$other 的內(nèi)容:; foreach($other as $a) echo $a; echo 新數(shù)組$worker
41、的內(nèi)容:; foreach($worker as $b) echo $b; echo 是不是很好玩?; ? php 解釋結(jié)果(html 輸出) (右鍵單擊該頁(yè)面,在快捷菜單中單擊“查看源文件”命令可看到) 送到用戶瀏覽器解釋后顯示的結(jié)果(運(yùn)行結(jié)果,顯示在瀏覽器頁(yè)面中的結(jié)果) 20 【2-25】垃圾收集:變量的回收使用 unset()回收變量(釋放變量) php 程序 2-25送到用戶瀏覽器解釋后顯示的結(jié)果(運(yùn)行結(jié) 果,顯示在瀏覽器頁(yè)面中的結(jié)果) ? #垃圾收集:變量的回收使用 unset()釋放變量 echo 從未對(duì)$name 賦過值,這時(shí):; $s1=isset($name);/$s1 為
42、false if($s1) echo $name 已存在,其值=$name; else echo $name 不存在,其值=$name; $name=fred; $s1=isset($name);/$s1 為 true if($s1) echo $name 已存在,其值=$name; else echo $name 不存在,其值=$name; echo 現(xiàn)在從內(nèi)存中釋放(刪除)$name:; unset($name); $s1=isset($name);/$s1 為 false if($s1) echo $name 已存在,其值=$name; else echo $name 不存在,其值=$n
43、ame; ? 鄭大軟件學(xué)院 php 程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)書 21 4. 表達(dá)式和操作符 4.1 隱式類型轉(zhuǎn)換 預(yù)備知識(shí)預(yù)備知識(shí) 數(shù)字間進(jìn)行字符串拼接的規(guī)則;字符串轉(zhuǎn)換數(shù)字后的數(shù)字值規(guī)則 【2-26】數(shù)字間進(jìn)行字符串拼接的規(guī)則:數(shù)字首先變?yōu)樽执?,然后再拼?php 程序 2-26送到用戶瀏覽器解釋后顯示的 結(jié)果(運(yùn)行結(jié)果,顯示在瀏覽 器頁(yè)面中的結(jié)果) 【2-27】字符串轉(zhuǎn)換數(shù)字后的數(shù)字值規(guī)則 假定以數(shù)字開始,該數(shù)字即為轉(zhuǎn)換后的數(shù)字值;若未找到數(shù)字則轉(zhuǎn)換后的數(shù)字值為 0;若開頭的數(shù)字包含 一個(gè)句點(diǎn)或大寫或小寫的 e,則轉(zhuǎn)換后的數(shù)字值為浮點(diǎn)型 php 程序 2-27送到用戶瀏覽器解釋后顯示的結(jié) 果(運(yùn)行
44、結(jié)果,顯示在瀏覽器頁(yè) 面中的結(jié)果) ? #字符串轉(zhuǎn)成數(shù)字后的數(shù)字值規(guī)則 $a=9 lives-1;/8(int) $b=3.14 pies*2;/6.28(float) $c=9 lives.-1;/8(float) $d=1e3 points of light+1;/1101 echo $a=$a; echo $b=$b; echo $c=$c; echo $d=$d; ? 4.2 字符串連接操作符 預(yù)備知識(shí)預(yù)備知識(shí) 字符串連接操作符;數(shù)字與字串連接時(shí),數(shù)字先轉(zhuǎn)換成字串 【2-28】數(shù)字在與字符串連接時(shí),先自動(dòng)變成字符串 22 php 程序 2-28送到用戶瀏覽器解釋后顯示的結(jié)果(運(yùn)行 結(jié)果
45、,顯示在瀏覽器頁(yè)面中的結(jié)果) 類似的,如 2-29: 【2-29】和 2-28 差不多的程序 php 程序 2-29送到用戶瀏覽器解釋后顯示的結(jié)果(運(yùn) 行結(jié)果,顯示在瀏覽器頁(yè)面中的結(jié)果) 4.3 自增自減操作符 預(yù)備知識(shí)預(yù)備知識(shí) 數(shù)字的自增自減(按數(shù)字順序) ;字母的自增自減(按字母順序) 【2-30】 php 程序 2-30送到用戶瀏覽器解釋后顯示的結(jié)果(運(yùn) 行結(jié)果,顯示在瀏覽器頁(yè)面中的結(jié)果) ? #字母的自增自減運(yùn)算 echo 小寫字母自增:; $a=a; while($a=z) echo $a+; echo ; echo 大寫字母自增:; $a=a; while($a=z) echo $
46、a+; echo ; ? 請(qǐng)編程驗(yàn)證: (該圖顯示的是部分結(jié)果) 鄭大軟件學(xué)院 php 程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)書 23 字符串字符串+ ab za spazspba k9l0 4243 4.4 類型轉(zhuǎn)換操作符 預(yù)備知識(shí)預(yù)備知識(shí) 類型轉(zhuǎn)換操作符;類型轉(zhuǎn)換的臨時(shí)性;類型轉(zhuǎn)換的真正實(shí)現(xiàn) 【2-31】類型轉(zhuǎn)換的臨時(shí)性 php 程序 2-31送到用戶瀏覽器解釋后顯示的結(jié)果(運(yùn) 行結(jié)果,顯示在瀏覽器頁(yè)面中的結(jié)果) 【2-32】類型轉(zhuǎn)換的真正實(shí)現(xiàn) php 程序 2-32送到用戶瀏覽器解釋后顯示的結(jié)果(運(yùn) 行結(jié)果,顯示在瀏覽器頁(yè)面中的結(jié)果) ? #轉(zhuǎn)換自身類型并保值 $a=5; if(is_string($a) e
47、cho 開始,$a 是字符串型,值為:$a; $a=(int)$a; if(is_int($a) echo 轉(zhuǎn)換類型并自賦值后,$a 是整型,值為:$a; ? 4.5 其他操作符 預(yù)備知識(shí)預(yù)備知識(shí) 錯(cuò)誤抑制操作符(例子程序見 2-13) ;三元操作符 【2-33】三元操作符 php 程序 2-33送到用戶瀏覽器解釋后顯示的結(jié)果(運(yùn)行結(jié)果, 顯示在瀏覽器頁(yè)面中的結(jié)果) 24 ? #三元操作符使用的例子 $a=1; $b=2; echo $a=$a,$b=$b; echo $a$b?$a$b:$a 5.流控制語(yǔ)句 5.1 if 語(yǔ)句 預(yù)備知識(shí)預(yù)備知識(shí) if 結(jié)構(gòu)、if-else 結(jié)構(gòu)、if-els
48、e 鏈接(層進(jìn))、if-elseif 結(jié)構(gòu)、if-else-endif 結(jié)構(gòu) 【2-34】使用 if-else-endif 結(jié)構(gòu) php 程序 2-34送到用戶瀏覽器解釋后顯示的結(jié)果(運(yùn) 行結(jié)果,顯示在瀏覽器頁(yè)面中的結(jié)果) ? #if 語(yǔ)句的使用 echo 常見使用方式:c 語(yǔ)言的方式:; $user_validated=true; if($user_validated) echo 歡迎你!; $greed=1; else echo 對(duì)不起,禁止訪問!; exit; echo 還可使用 php 提供的另一種方式:if-endif 結(jié)構(gòu); $user_validated=; if($user_v
49、alidated): /注意冒號(hào) echo 歡迎你!; $greed=1; else:/注意冒號(hào) echo 對(duì)不起,禁止訪問!; exit; endif; /句尾是分號(hào),不是冒號(hào) ? 【2-35】if 語(yǔ)句的使用:嵌入到 html 中(表單驗(yàn)證) php 程序 2-35送到用戶瀏覽器解釋后顯示的結(jié)果(運(yùn)行結(jié)果, 顯示在瀏覽器頁(yè)面中的結(jié)果) 鄭大軟件學(xué)院 php 程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)書 25 歡迎你: 請(qǐng)重新登陸! 【2-36】if 語(yǔ)句的鏈接(層進(jìn))(使用 if-else 結(jié)構(gòu)) php 程序 2-36送到用戶瀏覽器解釋后顯示的結(jié)果(運(yùn)行結(jié)果,顯示 在瀏覽器頁(yè)面中的結(jié)果) 90) print(優(yōu)秀
50、); else if($fenshu80 else if($fenshu 【2-37】if 語(yǔ)句的鏈接(層進(jìn))(使用 if-elseif 結(jié)構(gòu)) php 程序 2-37送到用戶瀏覽器解釋后顯示的結(jié)果(運(yùn)行結(jié) 果,顯示在瀏覽器頁(yè)面中的結(jié)果) ? #if 語(yǔ)句的鏈接(層進(jìn))(使用 if-elseif 結(jié)構(gòu)) #閱讀性比 2-36 好 echo 本程序閱讀性比程序 2-36 好,以下是運(yùn)行結(jié)果; $fenshu=61; echo 你的分?jǐn)?shù)是:$fenshu,屬于:; if($fenshu90) print(優(yōu)秀); elseif($fenshu80 elseif($fenshu 【2-38】用 if
51、 結(jié)構(gòu)的 html 輸出一般做法 php 程序 2-38送到用戶瀏覽器解釋后顯示的結(jié)果 (運(yùn)行結(jié)果,顯示在瀏覽器頁(yè)面中的 結(jié)果) ? #用 if 結(jié)構(gòu)的 html 輸出一般做法 $fenshu=61; echo 以下結(jié)果用 if 結(jié)構(gòu)嵌入 html 實(shí)現(xiàn),程序可讀性稍差; ? 60) echo 及格;else echo 不及格;? 用三元操作符簡(jiǎn)化使更簡(jiǎn)潔的例子見 2-39 【2-39】用三元操作符簡(jiǎn)化使 2-38 更簡(jiǎn)潔的例子 php 程序 2-39送到用戶瀏覽器解釋后顯示的結(jié)果 (運(yùn)行結(jié)果,顯示在瀏覽器頁(yè)面中的 結(jié)果) ? #用三元操作符簡(jiǎn)化使 2-38 更簡(jiǎn)潔的例子 $fenshu=61
52、; echo 以下結(jié)果用三元操作符簡(jiǎn)化 if 結(jié)構(gòu)實(shí)現(xiàn),程序可讀性好; ? ? echo .($fenshu60?及格:不及格).; ? 進(jìn)一步的拼接字串的例子見程序 2-39a.php 【2-39a】用三元操作符簡(jiǎn)化使 2-39 更簡(jiǎn)潔的例子 php 程序 2-39a ? #比 2-39 字串拼接更復(fù)雜的例子 $fenshu=61; echo 以下結(jié)果用三元操作符結(jié)合復(fù)雜字串拼接實(shí)現(xiàn),程序可讀性一般,但移植性好; echo .($fenshu60?及格:不及格).; ? php 解釋結(jié)果(html 輸出) (右鍵單擊該頁(yè)面,在快捷菜單中單擊“查看源文件”命令可看到) 鄭大軟件學(xué)院 php 程
53、序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)書 27 送到用戶瀏覽器解釋后顯示的結(jié)果(運(yùn)行結(jié)果,顯示在瀏覽器頁(yè)面中的結(jié)果) 5.2 switch 語(yǔ)句 預(yù)備知識(shí)預(yù)備知識(shí) switch 的 c 語(yǔ)言形式、switch-endswitch 結(jié)構(gòu)、switch 語(yǔ)句中 case 的合并 【2-40】switch-endswith 結(jié)構(gòu)的用法 php 程序 2-40送到用戶瀏覽器解釋后顯示的結(jié)果(運(yùn)行結(jié)果, 顯示在瀏覽器頁(yè)面中的結(jié)果) 【2-41】case 的合并 php 程序 2-41送到用戶瀏覽器解釋后顯示的結(jié)果(運(yùn)行結(jié)果, 顯示在瀏覽器頁(yè)面中的結(jié)果) 28 5.3 while 語(yǔ)句 預(yù)備知識(shí)預(yù)備知識(shí) while 的 c 語(yǔ)言
54、形式(傳統(tǒng) while()等結(jié)構(gòu))、while-endwhile 結(jié)構(gòu) 【2-42】 php 程序 2-42送到用戶瀏覽器解釋后顯示的結(jié)果(運(yùn)行結(jié)果, 顯示在瀏覽器頁(yè)面中的結(jié)果) ? #while 循環(huán) #從 1 加到 10 /使用傳統(tǒng) while結(jié)構(gòu) $total=0; $i=1; while($i 【2-43】while-endwhile 循環(huán) php 程序 2-43送到用戶瀏覽器解釋后顯示的結(jié)果(運(yùn)行結(jié)果, 顯示在瀏覽器頁(yè)面中的結(jié)果) ? #while-endwhile 循環(huán) #從 1 加到 10;使用傳統(tǒng) while-endwhile 結(jié)構(gòu) $total=0; $i=1; while(
55、$i 鄭大軟件學(xué)院 php 程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)書 29 5.4 for 語(yǔ)句 預(yù)備知識(shí)預(yù)備知識(shí) fo 循環(huán)的 c 語(yǔ)言形式(傳統(tǒng) for()等結(jié)構(gòu))、for-endfor 結(jié)構(gòu) 【2-44】for 循環(huán)中多表達(dá)式應(yīng)用 php 程序 2-44送到用戶瀏覽器解釋后顯示的結(jié)果(運(yùn)行結(jié) 果,顯示在瀏覽器頁(yè)面中的結(jié)果) ? #用 for 循環(huán)計(jì)算 2 的 0 次到 9 次冪的和 $total=0; $total0=0; for($i=1,$j=1;$i=10;$i+,$j*=2) echo 第.$i.步: $total=.$total.+.$j; $total+=$j; echo =$total; ech
56、o 使用 for 結(jié)構(gòu),計(jì)算結(jié)果是: $total=1+2+4+8+.+512=$total; ? 【2-45】for 循環(huán)的死循環(huán)的一個(gè)例子(因死機(jī),效果圖略) php 程序 2-45 ? for(;)/for 循環(huán)的死循環(huán)的一個(gè)例子 echo 永不停歇,耗盡你的計(jì)算機(jī)的資源!; ? 5.5 foreach 語(yǔ)句 預(yù)備知識(shí)預(yù)備知識(shí) foreach()語(yǔ)句;foreach-endforeach 語(yǔ)句;循環(huán)體中對(duì)數(shù)組元素的遍歷:訪問每個(gè)鍵,訪問每個(gè)鍵和鍵值 實(shí)驗(yàn)程序見:程序 2-11 5.6 exit 語(yǔ)句 預(yù)備知識(shí)預(yù)備知識(shí) exit 語(yǔ)句的作用;使用形式 實(shí)驗(yàn)程序見:程序 2-13 5.7 r
57、eturn 語(yǔ)句 預(yù)備知識(shí)預(yù)備知識(shí) return 語(yǔ)句的作用;使用形式 實(shí)驗(yàn)程序見:程序 2-12 6.包含代碼 預(yù)備知識(shí)預(yù)備知識(shí) 30 require 和 include 的作用和區(qū)別;使用形式 【2-48】使用包含文件 php 程序 2-48 ? #使用包含文件 #新建一個(gè)文件 2-48-conn.php,將 2-13 的 2 到 20 行復(fù)制粘貼到 2-48-conn.php 中,保存作為包含文件, #2-48-conn.php 專門負(fù)責(zé)連接服務(wù)器,打開 test 數(shù)據(jù)庫(kù) #新建一個(gè)文件 2-48-db_close.php,將 2-13 的 38 到 42 行復(fù)制粘貼到 2-48-db_
58、close.php 中,保存作為包含 文件, #2-48-db_close.php 專門負(fù)責(zé)關(guān)閉與服務(wù)器的連接 #本程序采用引用上述兩個(gè)包含文件的形式,是對(duì)程序 2-13 的簡(jiǎn)化,運(yùn)行效果與 2-13 完全一樣 /連接服務(wù)器,打開數(shù)據(jù)庫(kù) test include(2-48-conn.php); echo 開始從數(shù)據(jù)庫(kù) test 的表 abc 中取出數(shù)據(jù); /將查詢結(jié)果存入數(shù)組(遍歷記錄集,將記錄集中的數(shù)據(jù)轉(zhuǎn)到數(shù)組) $sql=select * from abc; /$result 為資源型變量 $result=mysql_query($sql,$server_link); $i=0; whil
59、e($temp_array =mysql_fetch_array($result) $abc_array$i0=$temp_array a; $abc_array $i1=$temp_array b; $abc_array $i2=$temp_array c; $i+; echo 取出數(shù)據(jù)完畢!; mysql_free_result($result);/釋放記錄集,這是顯式地關(guān)閉資源,若程序終止執(zhí)行,該關(guān)閉將自動(dòng)進(jìn)行 /關(guān)閉與服務(wù)器的連接 include(2-48-close.php); echo 開始顯示數(shù)據(jù); /將數(shù)組中的數(shù)據(jù)輸出到瀏覽器(各列以雙等號(hào)間隔) echo a 列數(shù)據(jù)=b 列數(shù)
60、據(jù)=c 列數(shù)據(jù); for($i=0;$icount($abc_array);$i+) echo $abc_array$i0.=. $abc_array$i1.=. $abc_array$i2.; echo 顯示數(shù)據(jù)結(jié)束,程序執(zhí)行完畢。; ? 2-48-conn.php: ? /連接數(shù)據(jù)庫(kù) $hostname=; $username=root; $password=ilongilong; echo 開始建立與服務(wù)器的連接; /$server_link 為資源型變量 $server_link=mysql_connect($hostname,$username,$password) or die(連
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度倉(cāng)儲(chǔ)管理倉(cāng)單質(zhì)押擔(dān)保合同
- 二零二五年家電產(chǎn)品定制化解決方案代理銷售合同
- 二零二五年度現(xiàn)澆混凝土二次結(jié)構(gòu)施工合作協(xié)議
- 二零二五年度單位定向設(shè)備租賃合同
- 二零二五年度企業(yè)路演場(chǎng)地租賃及宣傳協(xié)議
- 二零二五年離婚協(xié)議書范本:離婚協(xié)議的社會(huì)影響與家庭重建
- 2024年武漢市黃陂區(qū)教育局招聘教師真題
- 2025年五星級(jí)酒店客房托管經(jīng)營(yíng)合同(含特色客房定制)
- 2025年國(guó)有企業(yè)新媒體運(yùn)營(yíng)崗位勞動(dòng)合同規(guī)范文本
- 2025年工業(yè)用地租賃合同:針對(duì)乙方生產(chǎn)需求的專項(xiàng)租賃協(xié)議
- 人教版小學(xué)四年級(jí)數(shù)學(xué)公式大全
- 浙江省2023-2024學(xué)年七年級(jí)下學(xué)期英語(yǔ)期中試卷(含答案)
- 越南音響行業(yè)分析
- 下肢深靜脈血栓教學(xué)查房
- 電力維保服務(wù)方案
- 少年中國(guó)說英文版
- 少兒口才訓(xùn)練材料(30篇)
- 食堂消毒間管理制度
- 化膿性扁桃體炎的護(hù)理課件
- 2023年有關(guān)黑水虻養(yǎng)殖的政策
- 人防柴油發(fā)電機(jī)施工方案
評(píng)論
0/150
提交評(píng)論