




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第5章PHP中的函數(shù)5.5PHP中的常用系統(tǒng)函數(shù)1.數(shù)學函數(shù)2.日期/時間函數(shù)3.字符串處理函數(shù)4.圖像處理函數(shù)本節(jié)內容PHP中的常用系統(tǒng)函數(shù)系統(tǒng)函數(shù)就是在PHP中提供的可以直接使用的函數(shù),在開發(fā)時,一些常用的功能可以借助于調用系統(tǒng)函數(shù)來完成。本章節(jié)主要介紹PHP中的數(shù)學函數(shù)、日期/時間函數(shù)、字符串處理函數(shù)和圖像處理函數(shù)等。1.數(shù)學函數(shù)數(shù)學函數(shù)用來對PHP中的整數(shù)和浮點數(shù)進行計算和處理。數(shù)學函數(shù)是PHP核心的組成部分,無需安裝即可使用這些函數(shù)。1.數(shù)學函數(shù)示例5-13:數(shù)學函數(shù)的應用。2.日期/時間函數(shù)日期/時間函數(shù)用來獲取服務器上的日期和時間、以及通過不同的方式格式化日期和時間。日期/時間函數(shù)是PHP核心的組成部分,無需安裝即可使用這些函數(shù)。PHP中常用的日期/時間函數(shù)及其功能如下表所示:2.1修改PHP默認時區(qū)PHP默認的時區(qū)設置是UTC時間,即與格林威治時間一致。而北京時間位于時區(qū)的東八區(qū),比UTC時間領先8個小時,所以在使用PHP中諸如time()函數(shù)等獲取當前時間時,得到的時間總是不對,與北京時間總是相差8個小時。如果希望正確地顯示北京時間,就需要修改默認的時區(qū)設置。有以下兩種方法可以實現(xiàn):修改配置文件php.ini中的date.timezone屬性。使用date_default_timezone_set()函數(shù)設置時區(qū)。2.2UNIX時間戳UNIX時間戳是保存日期和時間的一張緊湊、簡潔的方法,是在大多數(shù)計算機語言中表示日期和時間的一種標準格式。UNIX時間戳是指從UNIX紀元(格林威治時間1970年1月1日00時00分00秒)開始到當前時間為止所經(jīng)過的秒數(shù),是一個以32位整數(shù)表示的格林威治時間。即UNIX時間戳是以秒(s)作為計量時間的最小單位。UNIX時間戳在很多時候非常有用,因為它是一個32位的數(shù)字格式,所以特別適用于計算機處理,例如計算兩個時間點之間相差的天數(shù)等。2.3time()函數(shù)time()函數(shù)用來返回當前時間的UNIX時間戳。格式為:
inttime()2.3time()函數(shù)示例5-14:time()函數(shù)的應用。2.4mktime()和strtotime()函數(shù)在PHP中,如果需要將日期和時間轉變成UNIX時間戳,可以使用mktime()函數(shù)或者strtotime()函數(shù)。mktime()函數(shù)的格式為:
intmktime([inthour[,intminute[,intsecond[,intmonth[,intday[,intyear]]]]]])strtotime()函數(shù)的格式為:
intstrtotime(stringtime)2.4mktime()和strtotime()函數(shù)示例5-15:mktime()和strtotime()函數(shù)的應用。2.5getdate()函數(shù)getdate()函數(shù)用來獲取日期/時間信息,返回一個包含日期信息的關聯(lián)數(shù)組。格式為:
arraygetdate([inttimestamp])2.5getdate()函數(shù)示例5-16:getdate()函數(shù)的應用。2.6date()函數(shù)date()函數(shù)用來格式化一個本地日期和時間。格式為:
stringdate(stringformat[,inttimestamp])date()函數(shù)的常見調用方式如下所示:
echodate('Y-m-dH:i:s'); //輸出當前日期時間格式:2016-05-2016:08:422.6date()函數(shù)示例5-17:date()函數(shù)的應用。2.7microtime()函數(shù)microtime()函數(shù)用來返回當前的UNIX時間戳和微秒數(shù)。格式為:
mixedmicrotime([boolget_as_float])2.7microtime()函數(shù)示例5-18:microtime()函數(shù)的應用。3.字符串處理函數(shù)在Web開發(fā)中,字符串是使用最為頻繁的數(shù)據(jù)類型之一。信息的分類、解析、存儲和顯示,以及網(wǎng)絡中的數(shù)據(jù)傳輸都需要操作字符串來完成。在PHP中,可以把字符串當作字符集合來看待,字符串中的字符可以通過在字符串后面加花括號{index}來指定,index表示的是所要字符從零開始的偏移量。字符串操作也是編程中極為常用的操作,例如,字符串的格式化、字符串的分割和連接、字符串的比較,以及字符串的查找、匹配和替換等。PHP中提供了大量實用的函數(shù),可以幫助用戶完成許多復雜的字符串處理工作。3.字符串處理函數(shù)示例5-19:字符串當作字符集合的應用。3.1strlen()函數(shù)strlen()函數(shù)用來返回字符串的長度(所占字節(jié)數(shù))。格式為:
intstrlen(stringstr)3.1strlen()函數(shù)示例5-20:strlen()函數(shù)的應用。3.2trim()、ltrim()、rtrim()函數(shù)這三個函數(shù)都是用來去除字符串中的空格或者其他預定義字符。格式為:
stringtrim(stringstr[,stringcharlist]) stringltrim(stringstr[,stringcharlist]) stringrtrim(stringstr[,stringcharlist])3.2trim()、ltrim()、rtrim()函數(shù)示例5-21:trim()、ltrim()、rtrim()函數(shù)的應用。3.3str_pad()函數(shù)str_pad()函數(shù)用來對字符串進行填補。格式為:
stringstr_pad(stringstr,intpad_length[,stringpad_string[,intpad_type]])3.3str_pad()函數(shù)示例5-22:str_pad()函數(shù)的應用。3.4strtolower()、strtoupper()、ucfirst()、ucwords()函數(shù)這四個函數(shù)都是用來對字符串進行大小寫轉換。格式為: stringstrtolower(stringstr) stringstrtoupper(stringstr) stringucfirst(stringstr) stringucwords(stringstr)3.4strtolower()、strtoupper()、ucfirst()、ucwords()函數(shù)示例5-23:strtolower()、strtoupper()、ucfirst()、ucwords()函數(shù)的應用。3.5strpos()、strrpos()函數(shù)這兩個函數(shù)都是用來查找一個子串在一個字符串中出現(xiàn)的位置(字符串位置從0開始);如果沒有找到則返回FALSE。格式為: intstrpos(stringstr,stringsubstr[,intstart]) intstrrpos(stringstr,stringsubstr[,intstart])3.5strpos()、strrpos()函數(shù)示例5-24:strpos()、strrpos()函數(shù)的應用。3.6strstr()函數(shù)strstr()函數(shù)用于返回一個子串在一個字符串中第一次出現(xiàn)的位置,并返回從該位置開始的字符串(區(qū)分大小寫);如果沒有找到則返回FALSE。格式為:
stringstrstr(stringstr,stringsubstr[,boolsearch])3.6strstr()函數(shù)示例5-25:strstr()函數(shù)的應用。3.7substr()函數(shù)strstr()函數(shù)用于返回一個字符串中從指定位置開始指定長度的子串,也就是字符串的截取。格式為:
stringsubstr(stringstr,intstart[,intlength])3.7substr()函數(shù)示例5-26:substr()函數(shù)的應用。3.8str_replace()函數(shù)str_replace()函數(shù)用來把一個字符串中的任意子串全部替換為另外一個子串(區(qū)分大小寫)。格式為:
mixedstr_replace(mixedsearch,mixedreplace,mixedsubject[,int&count])3.8str_replace()函數(shù)示例5-27:str_replace()函數(shù)的應用。3.9explode()、str_split()函數(shù)這兩個函數(shù)都是用來對一個字符串按照某種規(guī)則進行分割。explode()函數(shù)用來將一個字符串按照某個指定的字符分割成多段,并將每段按順序保存到一個數(shù)組中,該函數(shù)的返回值就是一個數(shù)組。格式為: arrayexplode(stringseparator,stringstr[,intlimit])str_split()函數(shù)用來將一個字符串以指定的長度為單位分割成多段,并返回由每一段組成的數(shù)組。格式為:
arraystr_split(stringstr[,intsplit_length])3.9explode()、str_split()函數(shù)另外,implode()函數(shù)與explode()函數(shù)剛好相反。implode()函數(shù)用來將一個數(shù)組按照某個指定的字符組合成一個字符串。格式為: string
implode(stringseparator,arrayarr)3.9explode()、str_split()函數(shù)示例5-28:explode()函數(shù)的應用。3.9explode()、str_split()函數(shù)示例5-29:str_split()函數(shù)的應用。3.10nl2br()函數(shù)nl2br()函數(shù)用來把換行符“\n”替換成HTML的換行符“<br>”。格式為:
stringnl2br(stringstr[,boolxhtml])3.10nl2br()函數(shù)示例5-30:nl2br()函數(shù)的應用。4.圖像處理函數(shù)PHP提供了一系列內置的圖像處理函數(shù)來實現(xiàn)在網(wǎng)站編程中對圖像的編輯,這在很多需要動態(tài)生成圖像、自動批量處理圖像等方面,能給PHP網(wǎng)站開發(fā)這帶來巨大幫助,其中最為典型的應用有隨機圖形驗證碼、圖片水印、數(shù)據(jù)統(tǒng)計中的餅狀圖、柱狀圖的生成等。PHP的圖像處理函數(shù)都封裝在一個稱為GD庫的函數(shù)庫中,要使用GD庫中的函數(shù)來進行圖像處理,必須保證安裝了GD庫。最新的GD庫支持GIF、JPEG、PNG和WBMP等格式的圖像文件,通過GD庫中的函數(shù)可以完成各種點、線、幾何圖形、文本及顏色的操作和處理,還可以創(chuàng)建或讀取多種格式的圖像文件。4.圖像處理函數(shù)在PHP中,通過GD庫處理圖像的操作,都是先在內存中處理,操作完成以后再以文件流的方式,輸出到瀏覽器或保存在服務器的磁盤中。創(chuàng)建一幅圖像應該完成以下4個步驟:創(chuàng)建畫布繪制圖像輸出圖像釋放資源4.1畫布管理在PHP中,可以使用imagecreate()和imagecreatetruecolor()這兩個函數(shù)創(chuàng)建指定的畫布。創(chuàng)建畫布就是在內存中開辟一塊存儲區(qū)域,以后對圖像的所有操作都是基于這個畫布處理的,畫布就是一個圖像資源。imagecreate()函數(shù)用來創(chuàng)建一幅基于調色板的圖像,其返回一個圖像標識符,代表了一幅指定大小的空白圖像;imagecreatetruecolor()函數(shù)用來創(chuàng)建一幅真彩色圖像,其返回一個圖像標識符,代表了一幅指定大小的黑色圖像。其語法格式為:
resourceimagecreate(intx_size,inty_size)
resourceimagecreatetruecolor(intx_size,inty_size)4.1畫布管理imagesx()函數(shù)用來獲取圖像的寬度,imagesy()函數(shù)用來獲取圖像的高度。其語法格式為:
intimagesx(resourceimage)
intimagesy(resourceimage)imagedestroy()函數(shù)用來銷毀圖像,釋放內存與該圖像的存儲單元。其語法格式為: boolimagedestroy(resourceimage)4.1畫布管理示例5-31:創(chuàng)建一幅畫布,輸出畫布的寬度和高度,最后銷毀該畫布。4.2設置顏色在使用PHP動態(tài)輸出圖像的同時,可以調用imagecolorallocate()函數(shù)對圖像中的顏色進行設置。如果圖像中需要設置多種顏色,只要多次調用該函數(shù)即可。該函數(shù)返回一個標識符,代表了由給定的RGB成份組成的顏色。其語法格式為:
intimagecolorallocate(resourceimage,intred,intgreen,intblue)4.2設置顏色示例5-32:創(chuàng)建一幅畫布,并給該畫布設置一些顏色。4.3生成圖像使用GD庫中提供的函數(shù)動態(tài)繪制完成圖像以后,就需要輸出到瀏覽器或者將圖像以文件形式保存起來。在PHP中,可以將動態(tài)繪制完成的畫布,直接生成GIF、JPEG、PNG和WBMP這4種圖像格式,分別通過調用imagegif()、imagejpeg()、imagepng()和imagewbmp()這4個函數(shù)來生成以上格式的圖像。其語法格式為: boolimagegif(resourceimage[,stringfilename]) boolimagejpeg(resourceimage[,stringfilename[,intquality]]) boolimagepng(resourceimage[,stringfilename]) boolimagewbmp(resourceimage[,stringfilename[,intforeground]])4.3生成圖像示例5-33:創(chuàng)建一幅畫布,生成圖片輸出給瀏覽器,最后銷毀該畫布。4.4繪制圖像在PHP中繪制圖像的函數(shù)非常豐富,包括點、線、各種幾何圖形等平面圖形,都可以通過PHP中提供的各種畫圖函數(shù)完成。這些圖像繪制函數(shù)都需要使用畫布資源,并在畫布中的位置通過坐標(原點是該畫布左上角的起始位置,以像素為單位,沿著X軸正方向向右延伸,沿著Y軸正方向向下延伸)決定,而且還可以通過函數(shù)中的最后一個參數(shù)設置每個圖形的顏色。4.4.1imagefill()函數(shù)imagefill()函數(shù)用來使用指定的顏色對圖形實現(xiàn)區(qū)域填充。其語法格式為:
boolimagefill(resourceimage,intx,inty,intcolor)4.4.1imagefill()函數(shù)示例5-34:將畫布的背景設置為藍色。4.4.2imagesetpixel()函數(shù)imagesetpixel()函數(shù)用來使用指定的顏色在畫布中繪制一個單一像素的點。其語法格式為:
boolimagesetpixel(resourceimage,intx,inty,intcolor)4.4.3imageline()函數(shù)imageline()函數(shù)用來使用指定的顏色在畫布中繪制一條線段。其語法格式為:
boolimageline(resourceimage,intx1,inty1,intx2,inty2,intcolor)4.4.3imageline()函數(shù)示例5-35:繪制兩個像素點和一條線段。4.4.4imagerectangle()和imagefilledrectangle()函數(shù)imagerectangle()函數(shù)用來使用指定的顏色在畫布中繪制一個矩形;imagefilledrectangle()函數(shù)用來繪制一個矩形并使用指定的顏色進行填充。其語法格式為:
boolimagerectangle(resourceimage,intx1,inty1,intx2,inty2,intcolor)
boolimagefilledrectangle(resourceimage,intx1,inty1,intx2,inty2,intcolor)4.4.4imagerectangle()和imagefilledrectangle()函數(shù)示例5-36:繪制一個指定顏色的矩形和一個使用指定顏色填充的矩形。4.4.4imagerectangle()和imagefilledrectangle()函數(shù)示例5-37:繪制矩形并對圖形進行區(qū)域填充。4.4.5imagepolygon()和imagefilledpolygon()函數(shù)imagepolygon()函數(shù)用來使用指定的顏色在畫布中繪制一個多邊形;imagefilledpolygon()函數(shù)用來繪制一個多邊形并使用指定的顏色進行填充。其語法格式為:
boolimagepolygon(resourceimage,arraypoints,intnum_points,intcolor)
boolimagefilledpolygon(resourceimage,arraypoints,intnum_points,intcolor)4.4.5imagepolygon()和imagefilledpolygon()函數(shù)示例5-38:繪制一個指定顏色的五邊形和一個使用指定顏色填充的六邊形。4.4.6imageellipse()和imagefilledellipse()函數(shù)imageellipse()函數(shù)用來使用指定的顏色在畫布中繪制一個橢圓;imagefilledellipse()函數(shù)用來繪制一個橢圓并使用指定的顏色進行填充。其語法格式為:
boolimageellipse(resourceimage,intcx,intcy,intw,inth,intcolor)
boolimagefilledellipse(resourceimage,intcx,intcy,intw,inth,intcolor)4.4.6imageellipse()和imagefilledellipse()函數(shù)示例5-39:繪制一個指定顏色的圓和一個使用指定顏色填充的橢圓。4.4.7imagearc()函數(shù)imagearc()函數(shù)用來使用指定的顏色在畫布中繪制一個橢圓弧,也可以繪制完整的圓形或者橢圓形。其語法格式為:
boolimagearc(resourceimage,intcx,intcy,intw,inth,ints,inte,intcolor)4.4.7imagearc()函數(shù)示例5-40:繪制一個笑臉圖形。4.5在圖像中繪制文字在圖像中顯示的文字也需要按照坐標位置繪制上去。在PHP中提供了非常靈活的文字繪制方法,可以使用imagestring()、imagestringup()、imagechar()等函數(shù)使用內置的字體文字繪制到圖像中。4.5.1imagestring()和imagestringup()函數(shù)imagestring()函數(shù)用來使用指定的顏色在畫布中水平地繪制一行字符串;imagestringup()函數(shù)用來使用指定的顏色在畫布中垂直地繪制一行字符串。其語法格式為:
boolimagestring(resourceimage,intfont,intx,inty,strings,intcolor)
boolimagestringup(resourceimage,intfont,intx,inty,strings,intcolor)4.5.1imagestring()和imagestringup()函數(shù)示例5-41:繪制一個水平字符串和一個垂直字符串。4.5.2imagechar()和imagecharup()函數(shù)imagechar()函數(shù)用來使用指定的顏色在畫布中水平地
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 漢堡造型基礎知識培訓課件
- 跨境電子商務雙語教程 試卷B中英文答案
- 水邊安全基礎知識培訓課件
- 混凝土拌合物的溫度控制方案
- 水粉平涂技法課件
- 水管業(yè)務知識培訓課件
- 說課中醫(yī)基礎理論01課件
- 胎兒窘迫的護理周立蓉73課件
- 施工機械防護與管理方案
- 混凝土運輸與配送協(xié)調方案
- 人流術后的護理及健康宣教
- 財務崗位筆試題目及答案
- 兵團兩委考試試題及答案
- DB31/T 636.1-2018會議經(jīng)營與服務規(guī)范第1部分:會議服務機構等級劃分與評定
- 創(chuàng)新素養(yǎng)評價體系:核心素養(yǎng)框架下的關鍵指標研究
- 夫妻房屋加名協(xié)議書
- 《大腦中動脈解剖結構》課件
- z08小升初數(shù)學試卷及答案
- 智慧水務數(shù)字化供水平臺建設方案
- 2025-2030焦炭行業(yè)市場深度調研及發(fā)展規(guī)劃與投資前景研究報告
- 培訓課程編號設置規(guī)則
評論
0/150
提交評論