第8章 PHP的常用函數(shù)庫.ppt_第1頁
第8章 PHP的常用函數(shù)庫.ppt_第2頁
第8章 PHP的常用函數(shù)庫.ppt_第3頁
第8章 PHP的常用函數(shù)庫.ppt_第4頁
第8章 PHP的常用函數(shù)庫.ppt_第5頁
已閱讀5頁,還剩25頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第8章 PHP的常用函數(shù)庫,本章將為讀者介紹PHP中的常用函數(shù)。PHP編程在很大程序上就是對函數(shù)的運用,這點和C語言類似。因為PHP提供了豐富的函數(shù)支持,才使得其功能非常強大。而對PHP中常用函數(shù)的使用熟練與否,直接關(guān)系到程序開發(fā)的速度。本章將要介紹的常用函數(shù)類型有: 字符串處理函數(shù)。 數(shù)組處理函數(shù)。 數(shù)學(xué)運算函數(shù)。 變量處理函數(shù)。 日期與時間函數(shù)。 目錄與文件函數(shù)。,8.1 字符串處理函數(shù),在程序編寫過程中,讀者經(jīng)常會用到字符串處理函數(shù),比如字符的查找、替換、格式化、分割等。PHP提供了很多處理字符串的函數(shù),為編寫程序帶來了極大的方便。,8.1.1 拆分字符串方法,拆分字符串方法是把字符串拆

2、分成幾個子字符串,并返回一個子字符串。拆分字符串方法的格式如下所示。 String substr(string str, int start, intlength) 此函數(shù)返回字符串str中從位置srart開始,長度為length的子字符串,其中參數(shù)start和length不但可以取正數(shù),還可以取負(fù)數(shù)。下面通過實例來介紹拆分字符串函數(shù)的方法,程序如代碼8-1所示。,8.1.2 特定字符的查找,PHP中提供了功能強大的字符串查找和替換函數(shù),可以方便地進(jìn)行字符串的查找和替換操作。這兩個函數(shù)的作用是在字符串一中查找字符串二第一次出現(xiàn)的地方,如果找到,將返回字符串一中從字符串二開始剩余部分。字符串二也

3、可以是一個整數(shù),函數(shù)會先將此整數(shù)轉(zhuǎn)換為ASCII碼,然后進(jìn)行查找。其不同點在于查找函數(shù)不區(qū)分大小寫,而替換函數(shù)是區(qū)分大小寫的。但是這兩個查找函數(shù)的功能相同。查找函數(shù)的格式分別如下所示。 string stristr(string str1,string str2) string strstr(string str1,string str2) 其中“stristr”和“strstr”是查找函數(shù), “str1”和“str2”表示字符串一和字符串二。,8.1.3 特定字符的替換,前面介紹了查找函數(shù),接下來介紹替換函數(shù)。該函數(shù)的作用是將字符串“str”某些子字符串替換為另一個子字符串,然后將新的字符串

4、返回,如果指定的子字符串在字符串中不存在,此函數(shù)將返回空值。函數(shù)的格式如下所示。 string str_replace(string substr,string newstr,string str) 在此格式中,“str_replace”為字符串替換函數(shù),其中“substr”為指定的子字符串,“newstr”為要替換的字符串,“str”為字符串。下面通過實例來介紹PHP的字符串替換函數(shù)的使用。實例代碼如代碼8-5所示。,8.1.4 比較字符串,字符串比較函數(shù)用于對字符串的大小進(jìn)行比較以及字符串相似度比較等。如果“str1”“str2”則返回值為“1”,如果字符串“str1”“str2”則返回值

5、為“-1”,如果兩個字符串相等,則返回值就會是“0”,實現(xiàn)這樣功能的函數(shù)是“strcasecmp()”“strcmp()”。這兩個函數(shù)的區(qū)別在于“strcasecmp()”函數(shù)是不區(qū)分大小寫的,而“strcmp()” 函數(shù)是區(qū)分大小寫的。其格式如下所示。 int strcasecmp(string str1,string str2) int strcmp(string str1,string str2) 其中,“strcasecmp()”和“strcmp()”是字符串的一種比較函數(shù),“strcasecmp()” 函數(shù)不區(qū)分大小寫,而“strcmp()”函數(shù)是區(qū)分大小寫的。下面就通過具體實例來介

6、紹字符串比較函數(shù)的使用。,8.1.5 字符串類型轉(zhuǎn)換,字符串類型的轉(zhuǎn)換函數(shù)用于將一種數(shù)據(jù)類型轉(zhuǎn)換為另一種數(shù)據(jù)類型。下面給出3種類型轉(zhuǎn)換函數(shù)和一個通用轉(zhuǎn)換函數(shù),類型轉(zhuǎn)換函數(shù)的格式如下所示。 double doubleval(mixed var) int intval(mixed var,intbase) string strval(mixed var) int settype(mixed var,string type) 其中,“mixed var”代表簡單數(shù)據(jù)類型,不包括數(shù)組和對象。函數(shù)“intval()”中的“intbase”是可選參數(shù),表示以何種進(jìn)位制進(jìn)行轉(zhuǎn)換為整數(shù)?!癲oubleval(

7、)”函數(shù)會將變量強制轉(zhuǎn)換為浮點型,“intval()”函數(shù)將變量強制轉(zhuǎn)換為整型,“strval()”函數(shù)將變量強制轉(zhuǎn)換為字符串。在通用的類型轉(zhuǎn)換函數(shù)中,“string type”只能是以下值:“integer”“double”“string”“array”“object”。,8.2 數(shù)組處理函數(shù),數(shù)組就是一系列的數(shù)值或字符串作為一單元來處理。它由兩部分組成:數(shù)組名和下標(biāo)。數(shù)組名是唯一的,下標(biāo)表示了數(shù)組中數(shù)據(jù)的位置,其可以是數(shù)字也可以是字符。這個結(jié)構(gòu)可以作為變量。讀者可以賦值給數(shù)組,也可以把數(shù)組的值傳給函數(shù)。在使用數(shù)組前不需要聲明,與變量一樣,數(shù)組的元素是動態(tài)生成的。,8.2.1 建立數(shù)組的方法

8、,PHP中數(shù)組可以是一維或者是多維數(shù)組,其成員可以是整型、布爾型、浮點型和字符串。PHP也支持以數(shù)字為下標(biāo)的數(shù)組和以字符串為下標(biāo)的數(shù)組,二者沒有區(qū)別。在PHP中可以“l(fā)ist()”函數(shù)或“array()” 函數(shù)來創(chuàng)建數(shù)組,也可以直接給函數(shù)進(jìn)行賦值。下面就使用函數(shù)“arrat()”來創(chuàng)建數(shù)組,代碼如代碼8-9所示。,8.2.2 數(shù)組的創(chuàng)建與賦值函數(shù),數(shù)組的創(chuàng)建與賦值函數(shù)有“array range()”和“void list()”兩個函數(shù),其作用是數(shù)組的創(chuàng)建和賦值,用于對一個數(shù)組進(jìn)行初始化。函數(shù)“array range()”的作用是給一組變量一次性賦值。函數(shù)“void list()”的作用是創(chuàng)建一

9、個包含連續(xù)的整數(shù)的數(shù)組,返回的數(shù)組下標(biāo)從“0”開始。函數(shù)的格式如下所示。 void list() array range(int low,int high) 其中,“l(fā)ow”表示數(shù)組的賦值的開始值?!癶igh”表示數(shù)組的賦值的結(jié)束值。,8.2.3 對數(shù)組下標(biāo)的操作函數(shù),對數(shù)組下標(biāo)的操作是通過數(shù)組的屬性與遍歷函數(shù)來實現(xiàn)的。數(shù)組的屬性與遍歷函數(shù)主要用于與數(shù)組下標(biāo)相關(guān)的操作。,8.2.4 使用排序函數(shù)實現(xiàn)數(shù)組元素的排序,數(shù)組排序函數(shù)用于一個數(shù)組中的所有元素進(jìn)行排序,可以以下標(biāo)為索引,也可以以值為索引,排序可以是順序,也可以是逆序。,8.2.5 使用動態(tài)操作函數(shù)實現(xiàn)數(shù)組動態(tài)擴充,數(shù)組動態(tài)操作函數(shù)用于數(shù)

10、組的動態(tài)擴充,利用這些函數(shù)可以完成棧隊列的功能。實現(xiàn)數(shù)組動態(tài)擴充功能的函數(shù)有:“array_push()”函數(shù)的作用是將一個或多個元素壓入數(shù)組未尾,并將數(shù)組擴充,函數(shù)返回擴充后的數(shù)組中元素的個數(shù)?!癮rray_pop()” 函數(shù)的作用是從數(shù)組的末尾彈出一個元素返回,并將數(shù)組長度減“1”?!癮rray_unshift()” 函數(shù)的作用是將一個或多個元素壓入數(shù)組頭部,將數(shù)組擴充,函數(shù)返回擴充后的數(shù)組中元素的個數(shù)?!癮rray_shift()”函數(shù)的作用是從數(shù)組頭部彈出一個元素返回,并將數(shù)組的長度減“1”。 函數(shù)的格式如下所示。 int array_push(array array,mixed va

11、r,) mixed array_pop(array array) int array_unshift(array array,mixed var,) mixed array_shift(array array),8.3 數(shù)學(xué)運算函數(shù),PHP提供了大量數(shù)學(xué)運算函數(shù)來實現(xiàn)長整型和浮點型的各種運算,其返回結(jié)果也只限于這兩種數(shù)據(jù)類型。如果實現(xiàn)高精度的數(shù)學(xué)運算,就要使用BC高精度運算函數(shù)庫了。這里介紹常用的數(shù)學(xué)運算函數(shù),并沒有涉及到BC函數(shù)庫。,8.3.1 常用數(shù)學(xué)運算函數(shù),PHP中的常用數(shù)學(xué)運算函數(shù)有算術(shù)、冪指對函數(shù)、進(jìn)位制函數(shù)、三角、反三角函數(shù),下面介紹這些函數(shù)的使用語法。,8.3.2 隨機數(shù)的設(shè)定

12、與獲取,隨機數(shù)的設(shè)定與獲取是用“srand()”函數(shù)給隨機數(shù)產(chǎn)生器設(shè)置當(dāng)前的時間,使用“rand()”函數(shù)用于在最小值和最大值間產(chǎn)生一個隨機數(shù),使用“getrandmax()”函數(shù)返回“rand()”函數(shù)所能產(chǎn)生的最大隨機數(shù)。函數(shù)的格式如下所示。 void srand(int seed) int rand(int min,int max) int getrandmax() 在此程序中,參數(shù)“seed”表示當(dāng)前的時間,“min”和“max”是設(shè)置隨機數(shù)的最小和最大值。下面通過實例來介紹隨機函數(shù)。,8.4 日期與時間函數(shù),PHP提供了時間和日期函數(shù),時間和日期函數(shù)就是當(dāng)前時間和日期的格式化輸出。通

13、常時間和日期函數(shù)是把系統(tǒng)的時間和日期輸出到網(wǎng)頁中。,8.4.1 時間、日期的輸出格式,時間和日期的獲取是通過“data()”函數(shù)和“gmdata()”函數(shù)來實現(xiàn)的。這兩個函數(shù)的作用是將當(dāng)前時間和日期的格式化輸出。其格式如下所示。 string data(string format,int timestamp) string gmdata(string format,int timestamp) 其中,參數(shù)“timestamp”的中文名可翻譯為“時戳”,通常表示從系統(tǒng)建立到當(dāng)前時間的時間長度,一般以秒為單位?!癲ata()”函數(shù)是輸出本地的日期和時間,如果不指定“timestamp”的值,則其值

14、為默認(rèn)為本地當(dāng)前的“timestamp”的值?!癵mdata()”函數(shù)是輸出格林尼治日期和時間,“timestamp”為必需參數(shù)?!癴ormat”表示指定日期和時間輸出的格式?!癴ormat”的輸出格式如表8.1所示。,8.4.2 檢驗輸入的日期是否合法,PHP還提供了用于檢驗輸入的日期是否合法的函數(shù)(checkdate()),其格式如下所示。 int checkdate(int month,int day,int year) 其中,參數(shù)“month”表示月,其合法范圍是112之間。參數(shù)“day”表示日,其合法范圍是由參數(shù)月來決定的,系統(tǒng)會自動考慮到閏年。參數(shù)“year”表示的是年,合法的使用

15、范圍是032767。下面通過一個實例來介紹PHP中的檢驗日期函數(shù)的使用。,8.5 目錄與文件函數(shù),PHP中提供了目錄與文件的操作函數(shù)。目錄操作函數(shù)是將目錄讀取、復(fù)位、關(guān)閉等操作。而文件函數(shù)是對文件進(jìn)行打開、讀取、寫入、關(guān)閉等操作。對于文件函數(shù)來說,由于在網(wǎng)絡(luò)編程中要用到兩種類型的文件操作,一種是普通的文件操作,另一種是數(shù)據(jù)庫文件操作。這里要講述的是普通文件操作函數(shù),而對于數(shù)據(jù)庫文件的操作將在下面的章節(jié)進(jìn)行介紹。,8.5.1 目錄操作函數(shù),目錄函數(shù)用于實現(xiàn)目錄的操作,包括目錄的讀取、復(fù)位、關(guān)閉等。下面對目錄操作函數(shù)進(jìn)行介紹。,8.5.2 文件打開與關(guān)閉操作,文件打開與關(guān)閉函數(shù)是用于創(chuàng)建和銷毀與文

16、件的鏈接。在進(jìn)行文件操作前一般都要先打開文件,在文件操作完成后應(yīng)該關(guān)閉文件。文件的打開和關(guān)閉函數(shù)的格式如下所示。 int fopen(string filename,string mode,intuse_include_path) int fclose(int fp) 文件打開函數(shù)的功能是打開本地文件或一個由URL所指定的文件,并返回文件的指針,如果打開文件成功,返回值為“true”,否則返回值為“false”。參數(shù)“use_include_path”為可選參數(shù)。如果參數(shù)“filename”以“http:/”開頭就會找開一個與指定服務(wù)器的連接,并返回指向被請求文件的指針。由于此函數(shù)不處理HTT

17、P重定向,所以必須在目錄中包括斜杠。如果參數(shù)“filename”以“FTP:/”開頭就會打開一個與指定服務(wù)器的FTP連接,并返回指向被請求文件的指針,如果服務(wù)器不支持被動模式的FTP,此操作不成功。通過FTP可以將文件以讀取或?qū)懭氲姆绞酱蜷_,但是不能以讀寫的方式打開。 除上面的情況以外,參數(shù)“filename”都會認(rèn)為是本地文件,函數(shù)將在本地文件系統(tǒng)中打開指定文件,并返回文件指針。參數(shù)“mode”表示打開文件的方式,可以是表8.3中的一個方式。,8.5.3 文件信息獲取函數(shù),PHP中提供的文件信息獲取函數(shù),其作用是獲取文件的保護(hù)模式、當(dāng)前文件的鏈接數(shù)、所有者ID、字節(jié)數(shù)、最后一次訪問的時間、最

18、后一次修改時間等。獲取文狀態(tài)信息和符號鏈接狀態(tài)的函數(shù)格式如下所示。 array stat(string filename) array lstat(string filename) “stat()”函數(shù)的作用是獲取指定文件的狀態(tài)信息?!發(fā)stat()”函數(shù)的作用是獲取指定文件或符號鏈接的狀態(tài)信息。這兩個函數(shù)的用法相同,區(qū)別是如果參數(shù)“filename”是一個符號鏈接,此函數(shù)將會返回符號鏈接的狀態(tài),而不是符號鏈接所指向的文件的狀態(tài)。 文件信息獲取函數(shù)中判斷文件是否存在、是否可讀、是否可寫、是否可執(zhí)行的函數(shù)格式如下所示。 int file_exists(string filename) bool

19、is_readable(string filename) bool is_writeable(string filename) bool is_executable(string filename),8.5.4 如何對文件內(nèi)容進(jìn)行讀和寫,文件讀寫函數(shù)是文件夾類函數(shù)中最重要的一部分,PHP中的文件讀寫函數(shù)可以完成操作系統(tǒng)對文件所能完成的絕大部分功能。,8.6 PHP實踐無數(shù)據(jù)庫留言板,本節(jié)要設(shè)計一個留言板,是一個沒有數(shù)據(jù)庫的留言板。用戶可以在留言板上輸入用戶信息和留言內(nèi)容。并可以即時查看。對于處理少量數(shù)據(jù)的留言板簡單易行,不使用數(shù)據(jù)庫,讀取硬盤就可以。要實現(xiàn)一個留言板,首先要規(guī)劃好功能模塊。一個簡單的留言板至少包括以下兩個文件。 留言板的處理腳本:讀取留言文件,格式顯示內(nèi)容、寫入模塊、提供用戶輸入留言內(nèi)容的表單。 留言內(nèi)容存儲文件:留言人姓名、留言的時間、E-mail地址、留言內(nèi)容。 規(guī)劃流程圖如圖8.22所示。,8.6.1 提交頁面設(shè)計,提交頁面就是一個信息提交的頁面。需要用戶輸入用戶名、E-mail地址和留言內(nèi)容。信息輸入完成后,單擊“提交”按鈕,把輸入的信息提交給處理頁面。提交頁面的代碼如代碼8-23所示。,8.6.2 對提

溫馨提示

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

評論

0/150

提交評論