PHP開發中經常使用的字符串操做函數

1,拼接字符串 
拼接字符串是最經常使用到的字符串操做之一,在PHP中支持三種方式對字符串進行拼接操做,分別是圓點.分隔符{}操做,還有圓點等號.=來進行操做,圓點等號能夠把一個比較長的字符串分解爲幾行進行定義,這樣作是比較有好處的. 

2,替換字符串 
在PHP這門語言中,提供了一個名字叫作substr_replace()的函數,該函數的做用能夠快速的完成掃描和編輯文本內容較多的字符串替換功能.他的語法格式: 
mixed substr_replace(mixed $string,string $replacement, int $start[,int $length]) 
對於上面的語法格式的說明: 
string 是要檢查或者將要被替換的字符串 
replacement 指定要用來插入或者替換的字符串 
start 指定在字符串的何處進行開始替換,這個參數能夠取三種類型的值(正數:從字符串開頭的第start個偏移量開始替換,負數,從字符串結尾處的第start個偏移量開始替換,0:從字符串中的第一個字符開始替換) 
length指定要替換多少個字符,這個參數也能夠取三種類型的值(正數:被替換的字符串的長度,負數:從字符串的結尾開始被替換的字符串的長度,0:是插入操做,而不是替換操做); 

3,計算字符串 

1)計算字符串的長度 
在PHP中,strlen()函數用來計算字符串的長度而且返回該字符串的長度信息.該語法的格式以下:int strlen(string $string)格式裏面的string就是用來指定要計算長度的字符串. 

2)計算字符串的數目 
在 PHP中,substr_count()函數,能夠用來很是方便並且準確的肯定一個指定的子字符串在所提供的字符串中有多少 個,substr_count()函數的語法格式以下:int substr_count(string $haystack,string $needle[,int $offset=0[,int $length]])在上面的語法中設計的參數的說明以下:haystack指定要檢查的字符串,needle用來指定要插入的字符串,offset用來 指定在字符串中何處開始搜索,默認值爲0,length用來指定搜索的長度. 
在PHP中,str_word_count()函數,能夠用來很是 方便並且準確的肯定一個某一個單詞在所提供的字符串中有多少個,str_word_count()函數的語法格式以下:mixed str_word_count(string $string[,int $format=0[,string $charlist]])在上面的語法中涉及到的參數的說明以下:string用來指定要進行檢查的字符串,format用來指定 str_word_count()函數的返回值,這個參數的返回值能夠返回三個值,分別是0,1,2.其中返回0的意思是默認值,返回找到的單詞的數目, 若是返回值爲1的話,那麼str_word_count()返回的就是一個數組,其中的鍵名是從0開始的連續整數,值是實際的單詞.若是format的值 取3的時候,那麼str_word_count()函數的返回值就是一個數組,其中,數組的鍵名是單詞在字符串中的位置,值是實際的單詞. 

4,查找字符串 

字符串的查找能夠分爲不少種,好比說查找子字符串,查找某個字符串的位置等等,PHP分別爲每一個字符串查找操做提供了相應的函數. 

1)查找子字符串 
在 PHP語言中,strstr()函數能夠用來查找子字符串,該函數返回的結果爲子字符串第一次出現的全部的內容,strstr()函數的格式如 下:string strstr(string $haystack,mixed $needle)在上面的語法中,涉及到的參數的說明以下haystack:指定被搜索的字符串,needle指定所要搜索的字符串,若是該參數是數字的 話,則會匹配器該數字ASCII值的字符.在實際的應用當中,會出現要忽略字母大小寫的狀況,這個時候,能夠使用PHP提供的一個大小寫不敏感的查找函數 --stristr()函數,該函數的使用方法和strstr()函數的使用是同樣的. 
2)查找字符串的位置 
strpos()函數的 功能和strstr()函數是相似的,只是返回的不是字符串,而是一個字符串在另一個字符串當中第一次出現的位置,strpos()的語法格式如 下:int strpos(string $haystack,mixed $needle[,int $offset =0])在上面的語法中涉及到的參數的說明以下:haystack是要被搜索的字符串,needle指定要進行查找的字符串,offset是指定開始搜索 的位置,默認值爲0. 
strpos()函數是一個對大小寫敏感的查找函數,可是在實際的應用過程中每每會出現須要忽略大小寫的,這個時候能夠使用PHP提供的一個對大小寫不是很敏感的查找函數stripos(),該函數的使用方法和strpos()是同樣的. 

5,比較字符串 
在PHP語言中,比較兩個字符串的大小能夠經過兩種方式來實現:使用"=="操做符比較和使用函數進行比較 

1)使用"=="操做符比較兩個字符串的大小 
在PHP中比較兩個字符串的時候,最容易的方法就是使用雙等號操做符(==). 
2)使用函數比較字符串的大小 
在 PHP中提供的strcmp()函數能夠更加精確的比較兩個字符串的大小,語法格式以下int strcmp(string $str1,string $str2)在上述語法中涉及到的參數的說明以下:str1 指定要進行比較的字符串1,str2指定要進行比較的字符串2.這個strcmp諳熟能夠確保兩個字符串是否徹底匹配,並將比較結果以整數的形式返回,這 個函數的返回值有如下三種.0:兩個字符串是相等的,小於0的時候,第一個字符串是小於後面的字符串的,若是返回值是大於零的,那麼就說明,前面的字符串 是大於後面的字符串的. 
除了strcmp()函數以外,PHP還提供了另一些比較相似的比較函數,好比strncmp()函數能夠選擇想要比 較的字符串的長度(字符個數),其語法格式以下:int strcmp(string $str1,string $str2,int $len)上面的參數說明 str1:指定要比較的第一個字符串,str2:指定要比較的第二個字符串len:指定每一個字符串用於比較的字符個數. 
在比較字符串的時候,有的時候須要忽略大小寫,就能夠使用strcasemp()函數和strncasemp()函數,這兩個函數與區分大小寫的相應函數的使用方法是徹底相同的,strcasecmp()函數和strncasecmp()兩個函數的語法格式分別以下: 
int strcasecmp(string $str1,string $str2) 
int strncasecmp(string $str1,string $str2,int $len) 

6,複製字符串 
如 果須要重複n次顯示一個字符或者一個字符串的功能,則最簡單的實現方法就是調用複製函數,在PHP中能夠使用str_repeat()函數實現字符串的復 制,這個函數的語法格式以下:string str_repeat(string $input,int $multiplier)在上述的語法中設計的參數的說明以下input指定要重複的字符串,multiplier指定字符串將被重複的次數. 

7,翻轉字符串 
處理字符串的操做還包括對字符串進行翻轉在PHP語言中,使用strrev()函數能夠實現反轉字符串的功能,strrev()函數的語法格式爲 
string strrev(string $string) 
上面的參數string就是用於指定要進行翻轉的字符串. 

8,切分,合併字符串 
把一個字符串按照某種規則切分紅多個字符串,或者把多個字符串合併成一個長的字符串,是在處理字符串操做的時候會常常碰到的問題.使用PHP提供的explode()函數,str_split()函數,implode()函數能夠處理相似切分,合併字符串的問題. 

1)切分字符串 
explode() 函數的功能就是用指定的分隔符把字符串切分紅數組,explode()函數的語法格式以下:array explode(string $delimiter,string $string[,int $limit])在上面的語法中涉及到的參數的說明以下:delimiter:指定在哪裏分隔字符串,string:指定要進行分割的字符 串,limit:指定所返回的數組元素的最大數目,最後的子塊將會包含string的剩餘部分. 
str_split()函數的做用是可以將一個 字符串分割成等長度的多個子字符串.str_split()函數的語法格式以下:array str_split(string $string[,int $split_length=1])上面的語法中的參數說明以下:string:指定要分割的字符串,split_length:指定每一個數組元素的長 度,默認值爲"1". 
2)合併字符串 
implode()函數的功能是將數組的元素鏈接起來成爲字符串,implode()函數的語法 格式以下:string implode([string $glue],array $pieces)在上述的語法中涉及到的參數的說明以下:glue()指定數組元素之間放置的內容,默認值爲""(表示空格字符串)pieces指定要合 併爲字符串的數組.調用implode()函數能夠根據參數所限制的條件獲取一個新的字符串,達到合併字符串的目的. 
join()是implode()函數的別名,兩個函數的用法是徹底同樣的,須要強調的是,雖然參數glue是能夠選的,可是爲了使程序擁有更好的兼容性,推薦使用兩個參數. 
總結一下字符串的相關操做方法: 

1)printf()函數:能夠對字符串進行格式化操做 
2)sprintf()函數:能夠對字符串進行格式化操做,與printf()函數的區別就是須要使用echo才能將格式化後的字符串顯示輸出. 
3)nl2br()函數:能夠將字符串中的換行符"\n"轉換爲HTML中的"<br/>"後顯示出來. 
4)wordwrap()函數:指定從某列字符進行強制換行 
5)strtolower()函數:該函數實現的功能是將字符串中的全部的字符所有轉換爲小寫字符 
6)strtoupper()函數:該函數的做用就是將字符串中的全部的字符所有轉換爲大寫的字符 
7)ucwords()函數:該函數的做用就是將字符串中全部的首字符所有轉換爲大寫字符 
8)substr_replace()函數:能夠快速完成掃描而且編輯文本內容較多的字符串的功能 
9)strlen()函數:能夠計算字符串的長度而且返回該字符串的長度 
10)substr_count()函數:能夠肯定一個字符串在所提供的字符串中有多少個 
11)str_word_count()函數,能夠肯定一個字符串中某個單詞的出現次數. 
12)strstr()函數,能夠用來查找子字符串,該函數的返回結果爲子字符串第一次出現後的全部內容 
13)strpos()函數,功能和strstr()函數是相似的,只是返回的不是字符串,而是一個字符串在另外一個字符串中第一次出現的位置. 
14)strcmp()函數,該函數的功能能夠精確的比較兩個字符串的大小 
15)strncmp()函數,能夠選擇要比較的字符串的長度(字符個數) 
16)strcasecmp()函數,能夠在忽略大小寫的時候,對兩個字符串進行比較 
17)strncasecmp()函數,能夠在忽略大小寫的前提下,對兩個字符串時候進行長度或者字符數目的比較. 
18)str_repeat()函數,重複n次顯示一個字符或者字符串的功能 
19)strrev()函數,提供對字符串進行翻轉的操做 
20)explode()函數,提供了將某個字符串切分爲多個字符串的功能,指定分隔符吧字符串切分紅數組. 
21)str_split()函數,可以將一個字符串分割成等長度的多個子字符串 
22)implode()函數,將數組的元素鏈接起來成爲字符串 
23)join()函數,使用方法與implode()函數是一摸同樣的,它的做用也是將數組元素鏈接起來成爲一個字符串
數組

相關文章
相關標籤/搜索