PHP程序設(shè)計基礎(chǔ)教程(第二版)(微課版)第8章PHP字符串_第1頁
PHP程序設(shè)計基礎(chǔ)教程(第二版)(微課版)第8章PHP字符串_第2頁
PHP程序設(shè)計基礎(chǔ)教程(第二版)(微課版)第8章PHP字符串_第3頁
PHP程序設(shè)計基礎(chǔ)教程(第二版)(微課版)第8章PHP字符串_第4頁
PHP程序設(shè)計基礎(chǔ)教程(第二版)(微課版)第8章PHP字符串_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第8章字符串PHP程序設(shè)計基礎(chǔ)教程(第二版)(微課版)學(xué)習(xí)目標(biāo)了解字符串的連接符掌握字符串操作主要內(nèi)容8.1字符串簡介8.2引用字符串常量8.3單引號和雙引號的區(qū)別8.3單引號和雙引號的區(qū)別8.5字符串的連接符8.6字符串操作8.7本章小結(jié)8.1字符串簡介字符串是指由零個或多個字符構(gòu)成的一個集合,這里所說的字符主要包含以下幾種類型:數(shù)字類型,如1、2、3等。字母類型,如a、b、c、d等。特殊字符,如#、$、%、^、&等。不可見字符,如\n(換行符)、\r(回車符)、\t(Tab字符)等。其中,不可見字符是比較特殊的一組字符,用來控制字符串的格式化輸出,在瀏覽器中不可見,只能看到字符串的輸出結(jié)果。8.2引用字符串常量在程序中有三種方法來引用字符串常量:使用單引號或雙引號,以及使用從Unixshell衍生出來的heredoc技術(shù)。這些方法的不同之處在于它們是否識別特殊的轉(zhuǎn)義序列(escapesequences,用于對字符進(jìn)行編碼)和是否進(jìn)行變量解析。一般的規(guī)則是,在必要時才使用強(qiáng)大的引用機(jī)制。在實際應(yīng)用中,這意味著除非需要包含轉(zhuǎn)義序列或替換變量,才使用雙引號,否則應(yīng)該使用單引號。如果要讓一個字符串跨越多行,則使用heredoc技術(shù)。8.3單引號和雙引號的區(qū)別單引號中的內(nèi)容,無論有無變量,都會被當(dāng)作普通字符串原樣輸出。而雙引號中的內(nèi)容,要經(jīng)過PHP語法分析器的解析。任何變量在雙引號中都會被轉(zhuǎn)換為值進(jìn)行輸出。單引號字符串和雙引號字符串在PHP中的處理是不同的。單引號字符串中的內(nèi)容會被作為普通字符進(jìn)行處理,而雙引號字符串中的內(nèi)容可以被解釋并替換。8.4輸出字符串有四種方法可以向瀏覽器發(fā)送輸出內(nèi)容。echo讓你一次輸出許多值。而print()只能輸出一個值。printf()函數(shù)通過把值插入到模板中來建立格式化的字符串。print_r()函數(shù)利于調(diào)試——以更容易讀懂的方式打印數(shù)組、對象和其他東西的內(nèi)容。8.4輸出字符串要把字符串放到PHP生成的HTML頁面中,可以使用echo。echo的大部分行為看起來像函數(shù),但其實echo是語言結(jié)構(gòu)(languageconstruct)。這意味著可以省略圓括號,所以下面兩條語句是等價的:可以將逗號作為分隔符來指定打印多項:輸出結(jié)果為:echo"printy";//下面也是合法的echo("printy");echo"One","Two",Three";OneTwoThree8.5字符串的連接符在PHP中,半角句號“."是字符串連接符,可以把兩個或兩個以上的字符串連接成一個字符串。使用字符串連接符無法實現(xiàn)大量字符串的連接,所以PHP也允許程序員在雙引號中直接包含字符串變量。8.6字符串操作8.6.1去除字符串的首尾空格和特殊字符8.6.2轉(zhuǎn)義、還原字符串?dāng)?shù)據(jù)8.6.3獲取字符串的長度8.6.4截取字符串8.6.5比較字符串8.6.6檢索字符串8.6.7替換字符串8.6.8格式化字符串8.6.9分割字符串8.6.10合成字符串8.6.1去除字符串的首尾空格和特殊字符PHP提供了如下函數(shù):trim()函數(shù)用于去除字符串的首尾空格和特殊字符。ltrim()函數(shù)用于去除字符串左邊的空格和特殊字符。rtrim()函數(shù)用于去除字符串右邊的空格和特殊字符。wordwrap()函數(shù)按照指定長度對字符串進(jìn)行折行處理。1.trim()函數(shù)trim()函數(shù)用于去除字符串的首尾空格和特殊字符,并返回去掉空格和特殊字符后的字符串。語法格式如下:參數(shù)str是要操作的字符串對象:參數(shù)charlist為可選參數(shù),指定需要從字符串中刪除哪些字符,如果不設(shè)置該參數(shù),所有的可選字符都將被刪除。stringtrim(stringstr[,stringcharlist]);2.ltrim()函數(shù)ltrim()函數(shù)用于去除字符串左邊的空格和特殊字符。語法格式如下:stringltrim(stringstr[,stringcharlist]);3.rtrim()函數(shù)rtrim()函數(shù)用于去除字符串右邊的空格和特殊字符,語法格式如下:stringrtrim(stringstr[,stringcharlist]);4.wordwrap()函數(shù)wordwrap()函數(shù)按照指定長度對字符串進(jìn)行折行處理,但可能會在行的開頭留下空白字符。語法格式如下:wordwrap(string,width,break,cut);8.6.2轉(zhuǎn)義、還原字符串?dāng)?shù)據(jù)轉(zhuǎn)義、還原字符串的方法有兩種:一種是手動轉(zhuǎn)義、還原字符串?dāng)?shù)據(jù):另一種是自動轉(zhuǎn)義、還原字符串?dāng)?shù)據(jù)。1.手動轉(zhuǎn)義、還原字符串?dāng)?shù)據(jù)2.自動轉(zhuǎn)義、還原字符串?dāng)?shù)據(jù)3.addcslashes()函數(shù)4.stripcslashes()函數(shù)1.手動轉(zhuǎn)義、還原字符串?dāng)?shù)據(jù)字符串可以用單引號(')、雙引號('')、界定符(<<<)3種方法定義,而指定一個字符串的最簡單方法是用單引號(')括起來。當(dāng)使用字符串時,很可能在字符串中存在這幾種易于與PHP腳本混淆的字符,因此必須對這幾種字符作轉(zhuǎn)義處理,方法是在這些字符的前面使用轉(zhuǎn)義符?!癨”是一個轉(zhuǎn)義符,緊跟在“\”后面的第一個字符將變得沒有意義或存在特殊含義。例如,“'”是字符串的定界符,寫為“\'”時就失去了定界符的意義,變成普通的單引號“'”。讀者可以通過:echo'\'';輸出一個單引號,但轉(zhuǎn)義符不會顯示。2.自動轉(zhuǎn)義、還原字符串?dāng)?shù)據(jù)要自動轉(zhuǎn)義、還原字符串?dāng)?shù)據(jù),可以應(yīng)用PHP提供的addslashes()和stripslashes()函數(shù)來實現(xiàn)。addslashes()函數(shù)用來為字符串加入反斜線“\”。stripslashes()函數(shù)用來將使用addslashes()函數(shù)轉(zhuǎn)義后的字符串返回原樣。stringaddslashes(stringstr);stringstripslashes(stringstr);3.addcslashes()函數(shù)除上面介紹的方法外,還可以對要轉(zhuǎn)義、還原的字符串進(jìn)行一定范圍的限制。PHP通過使用addcslashes()和stripcslashes()函數(shù)來實現(xiàn)對指定范圍內(nèi)的字符串進(jìn)行自動轉(zhuǎn)義和還原。addcslashes()轉(zhuǎn)義字符串中的字符,即在指定字符的前面加上反斜線“\”。語法格式如下:wordwrap(string,width,break,cut);4.stripcslashes()函數(shù)stripcslashes()函數(shù)用來對addcslashes()函數(shù)轉(zhuǎn)義后的字符串進(jìn)行還原。stringstripcslashes(stringstr);8.6.3獲取字符串的長度1.strlen()函數(shù)2.strpos()函數(shù)1.strlen()函數(shù)在獲取字符串的長度時,使用的是strlen()函數(shù),下面重點講解strlen()函數(shù)的語法及應(yīng)用。語法格式如下:intstrlen(stringstr);2.strpos()函數(shù)strpos()函數(shù)用于檢索字符串中指定的字符或文本。如果找到匹配,則會返回首個匹配的字符位置;如果未找到匹配,則返回FALSE。8.6.4截取字符串在PHP中有一項非常重要的技術(shù),就是截取指定字符串中指定長度的字符。對字符串截取時,可以采用PHP的預(yù)定義函數(shù)substr()來實現(xiàn)。格式如下:stringsubstr[stringstr,intstart[,intlength]);8.6.5比較字符串在PHP中,對字符串之間進(jìn)行比較的方法有很多種,第一種是使用strcmp()和strcasecmp()函數(shù)按字節(jié)進(jìn)行比較,第二種是使用strnatcmp()函數(shù)按自然排序法進(jìn)行比較,第三種是使用strncmp()函數(shù)從源字符串的指定位置開始比較。1.按字節(jié)進(jìn)行字符串的比較2.按自然排序法進(jìn)行字符串的比較3.從源字符串的指定位置開始比較1.按字節(jié)進(jìn)行字符串的比較按字節(jié)進(jìn)行字符串比較的方法有兩種,分別是利用strcmp()和strcasecmp()函數(shù)。這兩個函數(shù)的區(qū)別是:strcmp()函數(shù)區(qū)分字符的大小寫,而strcasecmp()函數(shù)不區(qū)分字符的大小寫。由于這兩個函數(shù)的實現(xiàn)方法基本相同,這里只介紹strcmp()函數(shù)。strcmp()函數(shù)用來對兩個字符串按字節(jié)進(jìn)行比較,語法格式如下:intstrcmp(stringstr1,stringstr2);2.按自然排序法進(jìn)行字符串的比較在PHP中,按照自然排序法進(jìn)行字符串的比較是通過strnatcmp()函數(shù)來實現(xiàn)的。自然排序法比較的是字符串中的數(shù)字部分,將字符串中的數(shù)字按照大小進(jìn)行比較。語法格式如下:intstrnatcmp(stringstr1,stringstr2);3.從源字符串的指定位置開始比較strncmp()函數(shù)用來比較字符串中的前n個字符。語法格式如下:intstrncmp(stringstr1,stringstr2,intlen);8.6.6檢索字符串在PHP中,提供了很多用于檢索字符串的函數(shù),PHP也可以像Word那樣實現(xiàn)對字符串的查找功能。1.strstr()函數(shù):使用strstr()函數(shù)查找指定的關(guān)鍵字2.substr_count()函數(shù):使用substr_count()函數(shù)檢索字符出現(xiàn)的次數(shù)1.strstr()函數(shù):使用strstr()函數(shù)查找指定的關(guān)鍵字可使用strstr()函數(shù)獲取指定字符串在另一個字符串中首次出現(xiàn)的位置直到后者末尾的子字符串。如果執(zhí)行成功,返回獲取的子字符串(存在相匹配的字符);如果失敗,返回false。語法格式如下:stringstrstr(stringhaystack,stringneedle);2.按自然排序法進(jìn)行字符串的比較可使用substr_count()函數(shù)獲取指定字符在字符串中出現(xiàn)的次數(shù)。語法格式如下:參數(shù)haystack為指定的字符串。參數(shù)needle為指定的字符。intsubstr_count(stringhaystack,stringneedle);8.6.7替換字符串通過字符串的替換技術(shù)可以實現(xiàn)對指定字符串中的指定字符進(jìn)行替換。字符串的替換技術(shù)可以通過以下兩個函數(shù)實現(xiàn):str_ireplace()函數(shù)和substr_replace()函數(shù)。1.str_ireplace()函數(shù)2.substr_replace()函數(shù)1.str_ireplace()函數(shù)str_ireplace()函數(shù):使用新的字符串(子串)替換原始字符串中指定要替換的字符串。語法格式如下:將所有在參數(shù)subject中出現(xiàn)的參數(shù)search以參數(shù)replace取代,參數(shù)count表示替換字符串執(zhí)行的次數(shù)。該函數(shù)不區(qū)分大小寫。mixedstr_ireplace(mixedsearch,mixedreplace,mixedsubject[,int&count]);2.substr_replace()函數(shù)substr_replace()函數(shù)用于對指定字符串中的部分字符串進(jìn)行替換。語法格式如下:stringsubstr_replace(stringstr,stringrepl,intstart,[intlength]);8.6.8格式化字符串在PHP中,字符串的格式化方式有多種,按照格式化的類型可以分為字符串的格式化和數(shù)字字符串的格式化,數(shù)字字符串的格式化最為常用。number_format()函數(shù)用來將數(shù)字字符串格式化。語法格式如下:stringnumber_format(floatnumber[,intnum_decimal_places],[stringdec_seperator,stringthousands_separator]);8.6.9分割字符串字符串的分割是通過explode()函數(shù)實現(xiàn)的。explode()函數(shù)按照指定的規(guī)則對字符串進(jìn)行分割,返回值為數(shù)組。語法格式如下:arrayexplode(stringseparator,stringstr[,intl

溫馨提示

  • 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

提交評論