1. 程式人生 > 實用技巧 >php-字串

php-字串


1、字串定義

  • 引號

    比較適合定義比較短(不超過一行)或者沒有結構要求的字串

    • 單引號

    • 雙引號

  • nowdoc字串:沒有單引號的單引號字串

    $str=<<<'邊界符'

    字串內容

    邊界符;

    1 $str=<<<'EOD'
    2     hello
    3 EOD;
  • heredoc字串:沒有雙引號的雙引號字串

    $str=<<<邊界符

    字串內容

    邊界符;

    1 $str=<<<EOD
    2     hello
    3 EOD;

結構化定義字串變數的規則:

1、結構化定義字串對應的邊界符有條件:

   1.1上邊界符後面不能跟任何內容;

   1.2下邊界符必須定格:最左邊;

   1.3下邊界同樣後面只能跟分號,不能跟任何內容;

2、結構化定義字串的內部(邊界符之間)的所有內容都是字串本身

2、字串轉義

轉義的含義:在計算機通用協議中,有一些特定的方式定義的字母,系統會特定處理:通常這種方式都是使用反斜槓+字母(單詞)的特性:

\r\n:回車換行

PHP在識別轉義字元的時候也是使用同樣的模式:反斜槓+字母。

常用的轉義符號:

\':在單引號字串中顯示單引號
\":在雙引號字串中顯示雙引號
\r:代表回車(理論上是回到當前行的首位置)
\n:代表新一行
\t:類似tab鍵,輸出四個空格
\$:在php中使用$符號作為變數符號,因此需要特定識別
在單引號中只能識別\',雙引號中只不能識別\"
因為雙引號中能夠識別\$,所以在雙引號中可以解析變數

3、字串長度

  • 基本函式strlen():得到字串的長度(位元組)

  • 多位元組字串的長度:包含中文的長度

  • 多位元組字串的擴充套件模組:mbstring模組

    • 載入該模組

      進php.ini,將extension=pgp_mbstring.dll前面的分號去掉

    • 使用

4、常用函式

1)轉換函式:implode(), explode(),str_plit()

  • lmplode(連線方式,陣列):將陣列中的元素按照某個規則連線成一個字串。

  • Explode(分割字元,目標字串):將字串按照某個格式進行分割,變成陣列 中國|北京|順義== array('中國';北京∵順義');

  • Str_split(字串,字元長度):按照指定長度拆分字串得到陣列

2)擷取函式:trim(), ltrim(), rtrim()

  • Trim(字串[,指定字元]):本身預設是用來去除兩邊的空格(中間不行),但是也可以指定要去除的內容,是按照指定的內容迴圈去除兩邊有的內容:直到碰到一個不是目標字元為止

  • Ltrim():去除左邊的

  • Rtrim():去除右邊的

3)擷取函式:substr(), strstr()

  • Substr(字串,起始位置從О開始[,長度]):指定位置開始擷取字串,可以擷取指定長度(不指定到最後)

  • Strstr(字串,匹配字元):從指定位置開始,擷取到最後(可以用來去檔案字尾名)

4)大小轉換函式:strtolower(), strtoupper(), ucfirst()

  • strtolower:全部小寫。

  • strtoupper:全部大寫。

  • ucfirst:首字母大寫

5)查詢函式:strpos(), strrpos()

  • Strpos():判斷字元在目標字串中出現的位置(首次)

  • Strrpos():判斷字元在目標字串中最後出現的位置

6)替換函式:str_replace()

  • Str_replace(匹配目標,替換的內容,字串本身):將目標字串中部分字串進行替換

    echo str_replace('a','b',$str);//將str中的a替換成b

7)格式化函式:printf(), sprintf()

  • Printf/sprintf(輸出字串有佔位符,順序佔位內察..):格式化輸出資料

    %d:十進位制

    %s:字串

8)其他:str_repeat(), str_shuffle()

  • Str_repeat():重複某個字串N次

  • Str_shuffle():隨機打亂字串