- 相關(guān)推薦
php開發(fā)中常用的操作字符串的函數(shù)說明
1,拼接字符串
拼接字符串是最常用到的字符串操作之一,在PHP中支持三種方式對(duì)字符串進(jìn)行拼接操作,分別是圓點(diǎn).分隔符{}操作,還有圓點(diǎn)等號(hào).=來進(jìn)行操作,圓點(diǎn)等號(hào)可以把一個(gè)比較長(zhǎng)的字符串分解為幾行進(jìn)行定義,這樣做是比較有好處的.
2,替換字符串
在PHP這門語(yǔ)言中,提供了一個(gè)名字叫做substr_replace()的函數(shù),該函數(shù)的作用可以快速的完成掃描和編輯文本內(nèi)容較多的字符串替換功能.他的語(yǔ)法格式:
mixed substr_replace(mixed $string,string $replacement, int $start[,int $length])
對(duì)于上面的語(yǔ)法格式的說明:
string 是要檢查或者將要被替換的字符串
replacement 指定要用來插入或者替換的字符串
start 指定在字符串的何處進(jìn)行開始替換,這個(gè)參數(shù)可以取三種類型的值(正數(shù):從字符串開頭的第start個(gè)偏移量開始替換,負(fù)數(shù),從字符串結(jié)尾處的第start個(gè)偏移量開始替換,0:從字符串中的第一個(gè)字符開始替換)
length指定要替換多少個(gè)字符,這個(gè)參數(shù)也可以取三種類型的值(正數(shù):被替換的字符串的長(zhǎng)度,負(fù)數(shù):從字符串的結(jié)尾開始被替換的字符串的長(zhǎng)度,0:是插入操作,而不是替換操作);
3,計(jì)算字符串
1)計(jì)算字符串的長(zhǎng)度
在PHP中,strlen()函數(shù)用來計(jì)算字符串的長(zhǎng)度并且返回該字符串的長(zhǎng)度信息.該語(yǔ)法的格式如下:int strlen(string $string)格式里面的string就是用來指定要計(jì)算長(zhǎng)度的字符串.
2)計(jì)算字符串的數(shù)目
在PHP中,substr_count()函數(shù),可以用來非常方便而且準(zhǔn)確的確定一個(gè)指定的子字符串在所提供的字符串中有多少個(gè),substr_count()函數(shù)的語(yǔ)法格式如下:int substr_count(string $haystack,string $needle[,int $offset=0[,int $length]])在上面的語(yǔ)法中設(shè)計(jì)的參數(shù)的說明如下:haystack指定要檢查的字符串,needle用來指定要插入的字符串,offset用來指定在字符串中何處開始搜索,默認(rèn)值為0,length用來指定搜索的長(zhǎng)度.
在PHP中,str_word_count()函數(shù),可以用來非常方便而且準(zhǔn)確的確定一個(gè)某一個(gè)單詞在所提供的字符串中有多少個(gè),str_word_count()函數(shù)的語(yǔ)法格式如下:mixed str_word_count(string $string[,int $format=0[,string $charlist]])在上面的語(yǔ)法中涉及到的參數(shù)的說明如下:string用來指定要進(jìn)行檢查的字符串,format用來指定str_word_count()函數(shù)的返回值,這個(gè)參數(shù)的返回值可以返回三個(gè)值,分別是0,1,2.其中返回0的意思是默認(rèn)值,返回找到的單詞的數(shù)目,如果返回值為1的話,那么str_word_count()返回的就是一個(gè)數(shù)組,其中的鍵名是從0開始的連續(xù)整數(shù),值是實(shí)際的單詞.如果format的值取3的時(shí)候,那么str_word_count()函數(shù)的返回值就是一個(gè)數(shù)組,其中,數(shù)組的鍵名是單詞在字符串中的位置,值是實(shí)際的單詞.
4,查找字符串
字符串的查找可以分為很多種,比如說查找子字符串,查找某個(gè)字符串的位置等等,PHP分別為每個(gè)字符串查找操作提供了相應(yīng)的函數(shù).
1)查找子字符串
在PHP語(yǔ)言中,strstr()函數(shù)可以用來查找子字符串,該函數(shù)返回的結(jié)果為子字符串第一次出現(xiàn)的所有的內(nèi)容,strstr()函數(shù)的格式如下:string strstr(string $haystack,mixed $needle)在上面的語(yǔ)法中,涉及到的參數(shù)的說明如下haystack:指定被搜索的字符串,needle指定所要搜索的字符串,如果該參數(shù)是數(shù)字的話,則會(huì)匹配器該數(shù)字ASCII值的字符.在實(shí)際的應(yīng)用當(dāng)中,會(huì)出現(xiàn)要忽略字母大小寫的情況,這個(gè)時(shí)候,可以使用PHP提供的一個(gè)大小寫不敏感的查找函數(shù)--stristr()函數(shù),該函數(shù)的使用方法和strstr()函數(shù)的使用是一樣的.
2)查找字符串的位置
strpos()函數(shù)的功能和strstr()函數(shù)是類似的,只是返回的不是字符串,而是一個(gè)字符串在另外一個(gè)字符串當(dāng)中第一次出現(xiàn)的位置,strpos()的語(yǔ)法格式如下:int strpos(string $haystack,mixed $needle[,int $offset =0])在上面的語(yǔ)法中涉及到的參數(shù)的說明如下:haystack是要被搜索的字符串,needle指定要進(jìn)行查找的字符串,offset是指定開始搜索的位置,默認(rèn)值為0.
strpos()函數(shù)是一個(gè)對(duì)大小寫敏感的查找函數(shù),但是在實(shí)際的應(yīng)用過程當(dāng)中往往會(huì)出現(xiàn)需要忽略大小寫的,這個(gè)時(shí)候可以使用PHP提供的一個(gè)對(duì)大小寫不是很敏感的查找函數(shù)stripos(),該函數(shù)的使用方法和strpos()是一樣的.
5,比較字符串
在PHP語(yǔ)言中,比較兩個(gè)字符串的大小可以通過兩種方式來實(shí)現(xiàn):使用"=="操作符比較和使用函數(shù)進(jìn)行比較
1)使用"=="操作符比較兩個(gè)字符串的大小
在PHP中比較兩個(gè)字符串的時(shí)候,最容易的方法就是使用雙等號(hào)操作符(==).
2)使用函數(shù)比較字符串的大小
在PHP中提供的strcmp()函數(shù)可以更加精確的比較兩個(gè)字符串的大小,語(yǔ)法格式如下int strcmp(string $str1,string $str2)在上述語(yǔ)法中涉及到的參數(shù)的說明如下:str1 指定要進(jìn)行比較的字符串1,str2指定要進(jìn)行比較的字符串2.這個(gè)strcmp諳熟可以確保兩個(gè)字符串是否完全匹配,并將比較結(jié)果以整數(shù)的形式返回,這個(gè)函數(shù)的返回值有以下三種.0:兩個(gè)字符串是相等的,小于0的時(shí)候,第一個(gè)字符串是小于后面的字符串的,如果返回值是大于零的,那么就說明,前面的字符串是大于后面的字符串的.
除了strcmp()函數(shù)之外,PHP還提供了另外一些比較類似的比較函數(shù),比如strncmp()函數(shù)可以選擇想要比較的字符串的長(zhǎng)度(字符個(gè)數(shù)),其語(yǔ)法格式如下:int strcmp(string $str1,string $str2,int $len)上面的參數(shù)說明 str1:指定要比較的第一個(gè)字符串,str2:指定要比較的第二個(gè)字符串len:指定每個(gè)字符串用于比較的字符個(gè)數(shù).
在比較字符串的時(shí)候,有的時(shí)候需要忽略大小寫,就可以使用strcasemp()函數(shù)和strncasemp()函數(shù),這兩個(gè)函數(shù)與區(qū)分大小寫的相應(yīng)函數(shù)的使用方法是完全相同的,strcasecmp()函數(shù)和strncasecmp()兩個(gè)函數(shù)的語(yǔ)法格式分別如下:
int strcasecmp(string $str1,string $str2)
int strncasecmp(string $str1,string $str2,int $len)
6,復(fù)制字符串
如果需要重復(fù)n次顯示一個(gè)字符或者一個(gè)字符串的功能,則最簡(jiǎn)單的實(shí)現(xiàn)方法就是調(diào)用復(fù)制函數(shù),在PHP中可以使用str_repeat()函數(shù)實(shí)現(xiàn)字符串的復(fù)制,這個(gè)函數(shù)的語(yǔ)法格式如下:string str_repeat(string $input,int $multiplier)在上述的語(yǔ)法中設(shè)計(jì)的參數(shù)的說明如下input指定要重復(fù)的字符串,multiplier指定字符串將被重復(fù)的次數(shù).
7,翻轉(zhuǎn)字符串
處理字符串的操作還包括對(duì)字符串進(jìn)行翻轉(zhuǎn)在PHP語(yǔ)言中,使用strrev()函數(shù)可以實(shí)現(xiàn)反轉(zhuǎn)字符串的功能,strrev()函數(shù)的語(yǔ)法格式為
string strrev(string $string)
上面的參數(shù)string就是用于指定要進(jìn)行翻轉(zhuǎn)的字符串.
8,切分,合并字符串
把一個(gè)字符串按照某種規(guī)則切分成多個(gè)字符串,或者把多個(gè)字符串合并成一個(gè)長(zhǎng)的字符串,是在處理字符串操作的時(shí)候會(huì)經(jīng)常碰到的問題.使用PHP提供的explode()函數(shù),str_split()函數(shù),implode()函數(shù)可以處理類似切分,合并字符串的問題.
1)切分字符串
explode()函數(shù)的功能就是用指定的分隔符把字符串切分成數(shù)組,explode()函數(shù)的語(yǔ)法格式如下:array explode(string $delimiter,string $string[,int $limit])在上面的語(yǔ)法中涉及到的參數(shù)的說明如下:delimiter:指定在哪里分隔字符串,string:指定要進(jìn)行分割的字符串,limit:指定所返回的數(shù)組元素的最大數(shù)目,最后的子塊將會(huì)包含string的剩余部分.
str_split()函數(shù)的作用是能夠?qū)⒁粋(gè)字符串分割成等長(zhǎng)度的多個(gè)子字符串.str_split()函數(shù)的語(yǔ)法格式如下:array str_split(string $string[,int $split_length=1])上面的語(yǔ)法中的參數(shù)說明如下:string:指定要分割的字符串,split_length:指定每個(gè)數(shù)組元素的長(zhǎng)度,默認(rèn)值為"1".
2)合并字符串
implode()函數(shù)的功能是將數(shù)組的元素連接起來成為字符串,implode()函數(shù)的語(yǔ)法格式如下:string implode([string $glue],array $pieces)在上述的語(yǔ)法中涉及到的參數(shù)的說明如下:glue()指定數(shù)組元素之間放置的內(nèi)容,默認(rèn)值為""(表示空格字符串)pieces指定要合并為字符串的數(shù)組.調(diào)用implode()函數(shù)可以根據(jù)參數(shù)所限制的條件獲取一個(gè)新的字符串,達(dá)到合并字符串的目的.
join()是implode()函數(shù)的別名,兩個(gè)函數(shù)的用法是完全一樣的,需要強(qiáng)調(diào)的是,雖然參數(shù)glue是可以選的,但是為了使程序擁有更好的兼容性,推薦使用兩個(gè)參數(shù).
總結(jié)一下字符串的相關(guān)操作方法:
1)printf()函數(shù):可以對(duì)字符串進(jìn)行格式化操作
2)sprintf()函數(shù):可以對(duì)字符串進(jìn)行格式化操作,與printf()函數(shù)的區(qū)別就是需要使用echo才能將格式化后的字符串顯示輸出.
3)nl2br()函數(shù):可以將字符串中的換行符"n"轉(zhuǎn)換為HTML中的"
"后顯示出來.
4)wordwrap()函數(shù):指定從某列字符進(jìn)行強(qiáng)制換行
5)strtolower()函數(shù):該函數(shù)實(shí)現(xiàn)的功能是將字符串中的所有的字符全部轉(zhuǎn)換為小寫字符
6)strtoupper()函數(shù):該函數(shù)的作用就是將字符串中的所有的字符全部轉(zhuǎn)換為大寫的字符
7)ucwords()函數(shù):該函數(shù)的作用就是將字符串中所有的首字符全部轉(zhuǎn)換為大寫字符
8)substr_replace()函數(shù):可以快速完成掃描并且編輯文本內(nèi)容較多的字符串的功能
9)strlen()函數(shù):可以計(jì)算字符串的長(zhǎng)度并且返回該字符串的長(zhǎng)度
10)substr_count()函數(shù):可以確定一個(gè)字符串在所提供的字符串中有多少個(gè)
11)str_word_count()函數(shù),可以確定一個(gè)字符串中某個(gè)單詞的出現(xiàn)次數(shù).
12)strstr()函數(shù),可以用來查找子字符串,該函數(shù)的返回結(jié)果為子字符串第一次出現(xiàn)后的所有內(nèi)容
13)strpos()函數(shù),功能和strstr()函數(shù)是類似的,只是返回的不是字符串,而是一個(gè)字符串在另一個(gè)字符串中第一次出現(xiàn)的位置.
14)strcmp()函數(shù),該函數(shù)的功能可以精確的比較兩個(gè)字符串的大小
15)strncmp()函數(shù),可以選擇要比較的字符串的長(zhǎng)度(字符個(gè)數(shù))
16)strcasecmp()函數(shù),可以在忽略大小寫的時(shí)候,對(duì)兩個(gè)字符串進(jìn)行比較
17)strncasecmp()函數(shù),可以在忽略大小寫的前提下,對(duì)兩個(gè)字符串時(shí)候進(jìn)行長(zhǎng)度或者字符數(shù)目的比較.
18)str_repeat()函數(shù),重復(fù)n次顯示一個(gè)字符或者字符串的功能
19)strrev()函數(shù),提供對(duì)字符串進(jìn)行翻轉(zhuǎn)的操作
20)explode()函數(shù),提供了將某個(gè)字符串切分為多個(gè)字符串的功能,指定分隔符吧字符串切分成數(shù)組.
21)str_split()函數(shù),能夠?qū)⒁粋(gè)字符串分割成等長(zhǎng)度的多個(gè)子字符串
22)implode()函數(shù),將數(shù)組的元素連接起來成為字符串
23)join()函數(shù),使用方法與implode()函數(shù)是一摸一樣的,它的作用也是將數(shù)組元素連接起來成為一個(gè)字符串
【php開發(fā)中常用的操作字符串的函數(shù)說明】相關(guān)文章:
PHP中函數(shù)的使用說明09-01
php字符串處理函數(shù)大全08-21
《PHP字符串操作》收集整理08-08
JavaScript中常見的字符串操作函數(shù)及用法07-24
關(guān)于php中的一個(gè)中文字符串截取函數(shù)07-15
PHP中date函數(shù)常用時(shí)間處理方法09-13
PHP的壓縮函數(shù)06-21
淺析php函數(shù)的實(shí)例06-08