[PHP干貨系列]一步一個腳印之PHP操作字符串

我們在上一篇快速中過了一篇PHP的基礎知識,但是很多重點知識朋友們可能抓不住側重點,接下來幾篇我會把重點以及開發(fā)中常用的點提煉出來。


PHP操作字符串

1. 什么是字符串?

字符串就是一串字符~

2. ?如何聲明一個字符串?

最簡單的方式,$str = '我是字符串';

heredoc方式,這種方法用來聲明一段比較長的字符串如HTML代碼,我們來看一下它的格式:

$doc = <<<EOF

<html><head></head><body><p>Hello World</p></body></html>

EOF;

這種方式也稱為定界符,需要以<<<大寫字母開始,中間為字符串,最后加上開頭的大寫字母后面跟上分號。

3. 單引號與雙引號的嵌套

我們可以使用$str = 'Hello world';聲明一個變量,也可以使用$str1 = "Hello world";來輸出一個變量,但是如果我們想在雙引號中輸出雙引號或者在單引號中輸出單引號呢?那么我們需要借助轉義符/來實現(xiàn)。

如:$str = "Hello \"World\" ";后者也是如此。

4. 字符串拼接

如果一行里面寫不完字符串或者為了方便閱讀規(guī)范代碼想臨時換行該如何把字符串拼接在一起呢?

如: ?$str = "Hello ";

? ? ? ? ?$str .="World";

那么此時echo 一下$str,你會看到字符串被拼接到一起。

如果字符串與函數(shù)拼接呢?

$str1 = 'Hello';

$str2 = 'World';

$str3 = $str1 . $str2;

現(xiàn)在$str3 = 'Hello World';

5. 計算字符串長度

strlen()

mb_strlen()

這兩個函數(shù)有什么區(qū)別呢?

我們來看一個案例:


計算英文字符串長度


計算中文字符串長度

我們發(fā)現(xiàn),使用strlen()計算英文和計算中文得到長度是不同的,這是為什么呢?

這是因為中文在utf-8編碼規(guī)則中,一個英文占一個字節(jié),一個中文占3個字節(jié),什么是編碼?這個解釋起來就比較多了,記住一般PHP文件我們使用UTF-8編碼就行。

那么我們使用mb_strlen()指定編碼再來計算字符串長度:


使用mb_strlen()

我們得到上圖結果。

6. 截取字符串

如果我們想從字符串的指定位置截取出來一部分呢?

我們可以使用substr(string,start,length)

示例:


第二個參數(shù)代表從開始截取的指定位置

第一個參數(shù)與第二個參數(shù)是必須的,第三個參數(shù)是可選的,代表截取長度,如果沒有第三個參數(shù)默認是一直截取到最后。


substr()的第三個參數(shù)

7. 在字符串中匹配指定字符

strpos()

功能是在字符串內查找一個字符或一段指定的文本,如果找不到返回false,否則返回第一次匹配成功出現(xiàn)的位置。


strpos()匹配字符

在這里有個坑,你可能會發(fā)現(xiàn)為什么是5不是6?

字符串中第一個字符的位置是 0,而不是 1。

8. 字符串反轉函數(shù)

strrev(string)

這個函數(shù)可以把字符串反轉過來


字符串反轉函數(shù)strrev()

9. 字符串分隔成數(shù)組

str_split(string)


str_split()把字符串分割成數(shù)組

10. 使用一個字符串分隔另一個字符串為數(shù)組

explode(string separator, string string [, int limit]);

其實這個函數(shù)支持三個參數(shù),但是最后一個參數(shù)是可選的,我們現(xiàn)在不講,來看看基本使用。


explode()函數(shù)使用字符串分隔另一個字符串

11. 大小寫轉換函數(shù)

在PHP大小寫是不同的,是敏感的,那么大小寫如何互換呢?

我們使用strtolower()可以轉換字符串中的大寫字母為小寫,

使用strtoupper()可以轉換小寫字母為大寫,

下面看一下示例:


strtolower()轉換大寫為小寫


strtoupper()轉換小寫為大寫

12. 處理字符串兩側的空白或者預定義字符

trim() 函數(shù)移除字符串兩側的空白字符或其他預定義字符。

與它類似的還有l(wèi)trim()與rtrim()。

ltrim()是移除字符串左側的空白字符或其他預定義字符。

rtrim()是移除字符串右側的空白字符或其他預定義字符。

案例:


trim()函數(shù)移除兩側空白或預定義字符


rtrim()函數(shù)移除右側空白或預定義字符

字符串操作函數(shù)還有很多,但是相比較來講,我列舉的這些還是比較常用的,也是相對簡單的,希望大家可以多多練習。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容