php常用的字串操作函數總結

伊谢尔伦
發布: 2023-03-11 15:42:02
原創
2588 人瀏覽過

在程式設計的過程當中,字串的操作是非常重要的並且經常會被用到,字串常用的操作具體的包括字串的拼接,替換字串,查找字串,比較字串,複製字串以及計算字串的長度等等.

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中的"
"後顯示出來.
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()函數是一摸一樣的,它的作用也是將數組元素連接起來成為一個字串

以上是php常用的字串操作函數總結的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板