摘要訊息 : 學習 PHP 中的字串.

0. 前言

本文于 2022 年 3 月 18 日进行一次更新和修正. 修正之后本文已经归档, 不再享受更新.

1. 字符串的表示

$string = "";
$string = '';

以上两种表示都能使变量 $string 变成 String 类型.

2. 单引号和双引号

从第一点可以看出, 其实 PHP 中, 单引号和双引号的区别是不大的, 但是在某些时候, 可能会有区别. 我们从下面一代代码可以看出 :

<?php
    $a = "Hello";
    $str1 = "$a, PHP!";
    $str2 = '$a, PHP!';
    echo $str1;
    echo "\n";
    echo $str2;
?>
/* 结果 :
    Hello, PHP!
    $a, PHP!
*/

3. 转义

在 PHP 中, 很多符号都是有特定的意义的, 例如 $, @, !\ 等等. 但是有时候, 我们确实需要在字符串或者某些地方用到这些符号, 只是用到符号而已, 这个时候就需要对这些符号进行转义. 和 C 类似, 在 PHP 中, 也是用 "\" 进行转义. 当然在双引号中, 也可以通过这样的方式输出特殊字符 :

  • \n : 换行;
  • \t : Tab;
  • \\ : \;
  • \0 : ASCII 码的 0;
  • \r : Enter;
  • \$ : 美元符号;
  • \{octal #} : 八进制转义;
  • \x{hexadecimal #} : 十六进制转义.

4. 字符串的连接

《PHP 第二课 : 运算符》中, 已经提到 : 可以使用 "." 对字符串进行连接, 这里就不再累赘. 当然, 也可以用 "{}" 进行连接 :

<?php
    $a = "Hello, ";
    $b = "{$a}PHP!";
    echo $b;    #结果 : Hello, PHP!
?>

5. 字符串函数

说是字符串函数, 实际上就是对于字符串的基本操作 :

  • 字符串长度计算 : strlen;
  • 字符串单词统计 : str_word_count;
  • 清理字符串中的空格 : ltrim 是从左边清除字符串头部的空格, rtrim 是从右边清楚字符串尾部的空格, trim 是清楚头部和尾部的空格;
  • 字符串的切分 : explode(分隔符, 字符串);
  • 字符串的组合 : implode(组合符, 字符串);
  • 字符串的截取 : substr(字符串, 起始位置, 截取长度);
  • 字符串的替换 : substr_replace(原字符串, 替换字符串, 起始位置, 替换长度);
  • 字符串的查找 : 敏感查找 (区分大小写) - strstr(字符串, 查找内容), 不敏感查找 (不区分大小写) - stristr(字符串, 查找内容);
  • 大小写转换 : strtolower 是转换为小写, strtoupper 是转换为大写; ucfirst 是首字母大写; ucwords 是以空格为分隔, 首字母大写.