PHP字符串操作學(xué)習(xí)筆記-創(chuàng)新互聯(lián)

由于PHP是弱語言類型,所以當(dāng)使用字符串操作函數(shù)是,其他類型的數(shù)據(jù)也會被當(dāng)作字符串來處理。

創(chuàng)新互聯(lián)建站專注于秀山土家族苗族企業(yè)網(wǎng)站建設(shè),自適應(yīng)網(wǎng)站建設(shè),成都做商城網(wǎng)站。秀山土家族苗族網(wǎng)站建設(shè)公司,為秀山土家族苗族等地區(qū)提供建站服務(wù)。全流程專業(yè)公司,專業(yè)設(shè)計,全程項目跟蹤,創(chuàng)新互聯(lián)建站專業(yè)和態(tài)度為您提供的服務(wù)

一、字符串定義與顯示

字符串通過單引號、雙引號來標(biāo)志,前者將單引號內(nèi)所有的字符都當(dāng)作字符來處理,后者則不是。

字符串的顯示可以使用echo()和print()函數(shù),二者區(qū)別:print()具有返回值,返回1,而echo()則沒有,所以echo()比print()要快一些,print()能應(yīng)用于復(fù)合語句中,而echo()不能。另外echo可以一次輸出多個字符串,而print不可以。

二、字符串的格式化

函數(shù)printf()將一個通過替換值建立的字符串輸出到格式字符串中,語法格式為:

int printf(string $format [,mixed $args])

第一個參數(shù)$format是格式字符串,$args是要替換進(jìn)來的值,格式字符串里的字符“%”指出了一個替換標(biāo)記。

格式字符串中的每一個替換標(biāo)記都由一個百分號組成,后面可能跟有一個填充字符、一個對齊方式字符、字段寬度和一個類型說明符。字符串的類型說明符為“s”。

所有的轉(zhuǎn)換說明都以一個“%”開始,如果想打印一個“%”,必須使用“%%”。填充字符表明該字符用于填充結(jié)果,使結(jié)果為適當(dāng)大小的字符串,默認(rèn)情況下使用空格填充;對齊方式字符對字符串和數(shù)組有不同的作用,對于字符串,減號“-”使該字符串右對齊(默認(rèn)為左對齊),對于數(shù)字,加號“+”使正數(shù)在輸出的時候以加號開頭;字段寬度是指字符串應(yīng)該輸出的寬度,如果字符串實際長度小于該值,則使用填充字符填充;類型說明符表示要替換進(jìn)來的值將要轉(zhuǎn)化的數(shù)據(jù)類型。

函數(shù)sprintf()所帶的參數(shù)和printf()函數(shù)一樣,但是返回的是內(nèi)置的字符串,使得可以在變量中存儲字符串供以后使用。

函數(shù)vprintf()允許在格式后面用數(shù)組作為參數(shù),用法和printf()函數(shù)基本相同。

函數(shù)vsprintf()和vprintf()函數(shù)一樣,可以用數(shù)組作為參數(shù),但不使出字符串。

三、常用字符串函數(shù)

1.計算字符串長度

strlen()函數(shù):int strlen(string $string)

該函數(shù)返回字符串的長度,1個英文字符長度為1個字符,1個漢字長度為2個字符,字符串中的空格也算一個字符。

2.將字符串改變大小寫

strtolower()函數(shù)可以將字符串全部轉(zhuǎn)化為小寫,使用strtoupper()函數(shù)將字符串全部轉(zhuǎn)化為大寫。

ucfirst()函數(shù)可以將字符串的第一個字符改成大寫,ucwords()函數(shù)可以將字符串中的每個單詞的第第一個字母改成大寫。

3.字符串裁剪

ltrim()、rtrim()、trim()函數(shù)分別用于刪除字符串中最左邊、最右邊和兩邊與指定的字符,并返回剩余的字符串。

string trim(string $str[,string $charlist])

string rtrim(string $str[,string $charlist])

string ltrim(string $str[,string $charlist])

trim、ltrim、rtrim函數(shù)的默認(rèn)刪除字符

字符ASCII碼意義
""32(0x20)空格
"\t"9(0x09)制表符
"\n"10(0x0A)換行
"\r"13(0x0D)回車
"\0"0(0x00)空字節(jié)
"\x0B"11(0x0B)垂直制表符

4.字符串的查找

strstr()函數(shù)和stristr()函數(shù),兩者功能、返回值都一樣,只是stristr()函數(shù)不區(qū)分大小寫。

strstr()函數(shù)的語法格式:string strstr(string $haystack,string $needle)

strstr()函數(shù)用于查找字符串指針$needle在字符串$haystack中出現(xiàn)的位置,并返回$haystack字符串中從$needle開始到$haystack字符串結(jié)束處的字符串。如果沒有返回值,也沒有發(fā)現(xiàn)$needle,則返回FALSE。strstr()函數(shù)還有一個同名函數(shù)strchr()。

5.字符串與ASCII碼

使用ord()函數(shù)可以返回字符的ASCII碼,也可以使用chr()函數(shù)返回ASCII碼對應(yīng)的字符。

四、字符串的比較

比較主要是對字符串的類型及大小寫的比較。字符串的比較可以使用比較運算符“==”、“!=”、“===”、“!==”來進(jìn)行比較,也可以使用比較函數(shù)來比較。

使用“!=”和“==”比較的兩個對象不一定要類型相等,整型也可以和字符串比較。而“!==”和“===”比較的對象類型要嚴(yán)格相同才可能返回TRUE。

常用的字符串比較函數(shù)有:strcmp()、strcasecmp()、strncmp()和strncasecmp()。語法格式如下:

int strcmp(string $str1,string $str2)

int strcasecmp(string $str1, string $str2)

int strncmp(string $str1,string $str2,int $len)

int strncasecmp(string $str1,string $str2,int $len)

四個函數(shù)都用于比較字符串的大小,如果$str1比$str2大,則他們都返回大于0的整數(shù);如果$str1比$str2小,則返回小于0的整數(shù),如果兩者相等,則返回0.

不同的是,strcmp()函數(shù)用于區(qū)分大小寫的字符串比較;strcasecmp()函數(shù)用于不區(qū)分大小寫的比較;strncmp()函數(shù)用于比較字符串的一部分,從字符串的開頭開始比較,$len是要比較的長度;strncasecmp()函數(shù)的作用和strncmp()函數(shù)一樣,只是不區(qū)分大小寫。

五、字符串的替換

字符串的替換指的是使用指定的字符串替換原來字符串中的相關(guān)字符,以組成新的字符串來滿足新的要求。

常用的就是str_replace()函數(shù),語法如下:

mixed str_replace(mixed $search,mixed $replace,mixed $subject[,int &$count])

str_replace()函數(shù)使用新的字符串$replace替換字符串$subject中的$search字符串。$count是可選參數(shù),表示要執(zhí)行的替換操作的次數(shù)。

str_replace()函數(shù)對大小寫敏感,還可以實現(xiàn)多對一,多對多的替換,但無法實現(xiàn)一對多的替換。

使用多對多替換時,第一個數(shù)組中的元素被第二個數(shù)組中對應(yīng)的元素替換,如果有一個數(shù)組比另一個數(shù)組元素少,那不足的部分會當(dāng)作空來處理。

substr_replace()函數(shù)實現(xiàn)替換字符串的一部分,語法格式:

mixed substr_replace(mixed $string,string $replacement,int $start[,int $length])

參數(shù)$string為原字符串,$replacement為要替換的字符串。

$start是開始替換的位置的偏移量,從0開始計算,如果為0或是一個正值,就是從字符串開始處計算的偏移量,如果是負(fù)值則是從字符串的末尾計算的偏移量。

$length是可選參數(shù),表示要替換的長度,如果不給定從$start位置開始一直到字符串結(jié)束;如果$length為0,則替換字符串會插入到原字符串中;如果$length是正值,則表示用替換字符串替換掉的字符串成都;如果$length是負(fù)值,表示從字符串末尾開始到$length個字符為止停止替換。

六、字符串與HTML

1.將字符轉(zhuǎn)換為HTML實體形式

函數(shù)htmlspecialchars()可以將字符轉(zhuǎn)化為HTML的實體形式。

可以轉(zhuǎn)化為HTML實體形式的特殊字符

原字符字符名稱轉(zhuǎn)換后的字符
&AND記號&
"雙引號"
'單引號'
<小于號&lt;
>大于號&gt;

htmlspecialchars()函數(shù)的語法格式如下:

string htmlspecialchars(string $string[,int $quote_style[,string $charset[,bool $double_encode]]])

參數(shù)$string是要轉(zhuǎn)換的字符串,$quote_style、$charset和$doublt_encode都是可選參數(shù)。$quote_style指定如何轉(zhuǎn)換單引號和雙引號字符,取值可以是ENT_COMPAT(默認(rèn)值,只轉(zhuǎn)換雙引號)、ENT_NOQUOTES(都不轉(zhuǎn)換)和ENT_QUOTES(都轉(zhuǎn)換)。$charset是字符集,默認(rèn)為ISO-859-1。參數(shù)$double_encode如果為FALSE則不轉(zhuǎn)換成HTML實體,默認(rèn)為TRUE

htmlentities()函數(shù)也可以將特殊字符轉(zhuǎn)換為實體,不過htmlspecialchars()函數(shù)只轉(zhuǎn)換&、“、‘、<、>這5個字符,而htmlentities()函數(shù)則會把漢字也進(jìn)行轉(zhuǎn)化。

2.將HTML實體形式轉(zhuǎn)換為特殊字符

使用htmlspecialchars_decode()函數(shù)可以將HTML的實體形式轉(zhuǎn)化為HTML格式,html_entity_decode()函數(shù)可以把所有HTML實體形式轉(zhuǎn)換為HTML格式

3.換行符的轉(zhuǎn)換

在HTML文件中使用"\n",顯示html代碼時不能顯示換行的效果,這時可以使用nl2br()函數(shù),這個函數(shù)可以用html中的"<br/>"標(biāo)記代替字符串中的換行符"\n"。

七、其他字符串函數(shù)

1.字符串與數(shù)組

(1)字符串轉(zhuǎn)化為數(shù)組

使用explode()函數(shù)可以用指定的字符串分割另一個字符串,并返回一個數(shù)組。

array explode(string $separator ,string $string[,int $limit])

此函數(shù)返回由字符串組成的數(shù)組,每個元素都是$string的一個子串,它們被字符串$separator作為邊界點分割出來。

如果設(shè)置了$limit參數(shù),則返回的數(shù)值包含最多$limit個元素,而最后那個元素將包含$string的剩余部分。如果$limit參數(shù)是負(fù)數(shù),則返回除了最后的-$limit個元素外的所有元素。

如果參數(shù)$separator為空字符串(""),explode()函數(shù)將返回FALSE,如果$separator所包含的值在$string中找不到,explode()函數(shù)將返回包含$string單個元素的數(shù)組。

(2)數(shù)組轉(zhuǎn)化為字符串

使用implode()函數(shù)可以將數(shù)組中的字符串連接成一個字符串

string implode(string $glue,array $pieces)

$pieces是保存要連接的字符串的數(shù)組,$glue是用于連接字符串的連接符。

implode()函數(shù)還有一個別名,即join()函數(shù)。

2.字符串加密函數(shù)

crypt()函數(shù)完成加密功能

string crypt(string $str[,string $salt])

該函數(shù)完成的是單向加密功能,即字符串一旦被加密就無法轉(zhuǎn)換成原來的形式。函數(shù)中$str是需要加密的字符串,第二個可選參數(shù)$salt是一個位字串,它能影響加密的暗碼,進(jìn)一步排除與計算***的可能性。

如果要獲得更高的安全性,可以使用md5()函數(shù),這個函數(shù)使用MD5散列算法,將一個字符串轉(zhuǎn)換成一個長32位的唯一字符串,這個過程是不可逆的。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

網(wǎng)頁題目:PHP字符串操作學(xué)習(xí)筆記-創(chuàng)新互聯(lián)
分享路徑:http://muchs.cn/article36/dhigsg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、網(wǎng)站制作、網(wǎng)站排名App開發(fā)、外貿(mào)網(wǎng)站建設(shè)網(wǎng)站營銷

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運營