PHP學習筆記 常用字串操作函式

2021-09-08 13:00:58 字數 4217 閱讀 6691

1、自動轉義、還原字串

string addslashes(string str)

引數str為將要被操作的字串。

該函式用來給字串str加入斜線「\」,對指定字串中的字元進行轉義,能轉義的字元包括單引號「』」、雙引號「"」、反斜槓「\」、null字元「0」。該函式比較常用的地方就是在生成sql語句時,對sql語句中的部分字元進行轉義。所有資料在插入資料庫之前,有必要應用addslashes()函式進行字串轉義,以免特殊字元未經轉義在插入資料庫時出現錯誤。

2)string stripslashes(string str)

該函式用來將應用addslashes()函式轉義後的字串str返回原樣,但資料在插入資料庫之前必須再次進行轉義。

3)string addcslashes(string str, string charlist)

實現對指定字串中的字元進行轉義,即在指定的字元charlist前加上反斜線。通過該函式可以將要新增到資料庫中的字串進行轉義,從而避免出現亂碼等問題。引數str為將要被操作的字串,引數charlist指定在字串中哪些字元前加上反斜線「\」,如果引數charlist中包含有「\n」、「\r」等字元,將以c語言風格轉換,而其他非字母數字且ascii碼低於32位及高於126的字元均轉換成以八進位制表示。在定義引數charlist的範圍時,需要明確在開始和結束的範圍內的字元。

4)string stripcslashes(string str)

用來將應用addcslashes()函式轉義的字串str返回原樣。

2、獲取字串長度

int strlen(string str)

用於回去指定字串str的長度。漢字佔2個字元,數字、英文、英文標點符號、下劃線和空格各佔1個字元。

3、擷取字串

string substr(string str, int start,[ int length])

引數str用來指定字串物件。引數start用來指定開始擷取字串的位置,如果start為負數-n,則從字串倒數第n個字元開始擷取。引數length為可選項,指定擷取字元的個數,如果length為負數,則表示擷取到倒數第length個字元。

4、比較字串

1)int strcmp(string str1, string str2)

按位元組進行字串比較,該函式區分字串的大小寫(strcasecmp()函式不區分大小寫)。如果相等則返回0;如果引數str1大於引數str2則返回1;如果引數str1小於str2則返回-1。

2)int strnatcmp(string str1, string str2)

按自然排序法進行字串比較,該函式區分字串的大小寫(strnatcasecmp()函式不區分大小寫)。自然排序法比較的是字串中的數字部分,將字串中的數字按照大小進行排序。如果相等則返回0;如果引數str1大於引數str2則返回1;如果引數str1小於str2則返回-1。注意,在自然排序法中,2比10小;在計算機序列中,10比2小,因為「10」在的第乙個字元是1,它小於2。

3)int strncmp(string str1, string2, int len)

比較字串中的前n個字元,該函式區分字母大小寫。如果相等則返回0;如果引數str1大於引數str2則返回1;如果引數str1小於str2則返回-1。

5、檢索字串

1)string strstr(string haystack, string needle)

獲取乙個指定字串在另乙個字串中首次出現的位置到後者末尾的子字串。如果執行成功,則返回剩餘字串(存在相匹配的字元);如果沒有找到相匹配的字元,則返回false。引數haystack用來指定從哪個字串中進行搜尋;引數needle用來指定搜尋的物件,如果該引數是乙個數值,那麼將搜尋與這個數值的ascii值相匹配的字元。本函式區分字母的大小寫。而strrchr()函式從字串後序的位置開始檢索子串。

2)int substr_count(string haystack, string needle)

獲取指定字元在字串**現的次數。haystack是指定的字串,needle是指定的字元。

6、替換子字串

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

使用新的子字串替換原始字串中被指定要替換的字串,該函式區分字母大小寫。引數search指定需要查詢的字串;引數replace指定替換的值;引數subject指定查詢的範圍;引數count表示替換字串執行的次數。該函式可以以陣列的方式傳遞引數,函式返回的是乙個字串還是陣列,取決於被操作的物件是字串還是陣列。如果原始字串subject是乙個陣列,則該函式會依次用replace替換subject陣列中每個元素中的search子字串,同時該函式的返回值為乙個陣列。

2)mixed str_ireplace(mixed search, mixed replace, mixed subject[, int &count])

將指定的字串替換為另外乙個指定的字串,本函式不區分大小寫。引數的意義參照str_replace()函式。

7、去除字串中空白字元和特殊字元

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

去除字串左邊的空白字元或指定字串。

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

去除字串右邊的空白字元或指定字串。

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

去除字串開始位置及結束位置的空白字元或指定字串。

以上函式中,引數charlist為可選引數,指定需要從指定的字串中刪除哪些字元,如果不設定該引數,則所有的預設可選字元(「\0」空值、「\t」tab製表符、「\n」換行符、「\x0b"垂直製表符、「\r」回車符、「」空白字元)都將被刪除,也可以在charlist引數中指定要過濾的特殊字元。
8、格式化字串

string number_format(float number,[int num_decimal_places,string dec_seperator,]string thousands_seperator)

該函式可以有乙個、兩個或四個引數,不能是三個引數。如果只有乙個引數number,number格式化後會捨去小數點後的值,且每1000就會以逗號「,」來隔開;如果有兩個引數,number格式化後會到小數點第num_decimal_places位,且每1000就會以逗號「,」來隔開;如果有4個引數,number格式化後會到小數點第num_decimal_places位,dec_seperator用來替代小數點「.」,thousands_seperator用來替代每1000隔開的逗號「,」。

9、分割字串

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

該函式可以將指定字串中的內容按照某個規則進行分割,返回值為陣列。引數separator指定分隔符,如果separator為空字串,函式將返回false,如果separator所包含的值在str中找不到,函式將返回包含str某個單元素的陣列。引數str指定將要被進行分割的字串。引數limit可選,如果設定了limit引數,則返回的陣列包含最多limit個元素,而最後那個元素將包含string的剩餘部分;如果limit引數是負數,則返回除了最後的-limit個元素外的所有元素。

10、字串與html相互轉換

string htmlentities(string str[,int quote_style, string charset])

將所有的字元都轉換成html字串。引數str指定要轉換的字串;引數quote_style可選,選擇如何處理字串中的引號,有3個可選值:(1)ent_compat轉換雙引號,忽略單引號,它是預設值;(2)ent_noquotes忽略雙引號和單引號;(3)ent_quotes轉換雙引號和單引號。引數charset可選,確定轉換所使用的字符集,預設字符集是「iso-8859-1」,指定字符集後就能避免轉換中文字元出現亂碼問題。htmlentities()函式支援的字符集有:big5(正體中文)、big5-hkscs(香港擴充套件的bigs,正體中文)、cp866(dos特有的西里爾字符集)、cp1251(windows特有的西里爾字符集)、cp1252(windows特有的西歐字符集)、euc-jp(日文)、gb2312(簡體中文)、iso-8859-1(西歐,latin-1)、iso-8859-15(西歐,latin-9)、koi8-r(俄語)、shift-jis(日文)、utf-8(ascii相容的多自己8編碼)

php學習筆記 常用字串記錄

字串操作筆記記錄 分割字串 foreach arr as i php的迴圈遍歷 foreach arr as key value php的迴圈遍歷 for j 0 j count arr j 常規的迴圈遍歷 str 100,200,300,400,500 arr explode str foreac...

mysql常用字串 MYSQL常用字串函式寶典

mysql常用字串函式 想更進一步加強自己在查詢語句方面的能力,需要掌握常用函式。字串函式 1 concat s1,s2,sn 將s1,s2,sn串聯成乙個字串。exp root test 14 43 desc t1 field type null key default extra id int ...

PHP常用字串函式

1 echo,print,print r,printf,sprintf 前兩個函式是輸出字串.字串中如果有變數名則被替換成其值.php程式設計師站 print r也是輸出函式,不同的是他可以輸入複雜結構的資料,比如陣列,物件 後兩個函式類似於c的同名函式.2 strchr,strlen,strtok...