在 PHP 中,字符串是我们最常用的数据类型之一。简单来说,字符串就是一系列字符的组合,用来表示文本,比如单词和句子。在 PHP 中,我们可以使用单引号 (‘ ‘) 或双引号 (" ") 来将字符串包裹起来。
- 我们可以使用单引号 (‘ ‘) 或双引号 (" ") 来创建字符串。
- PHP 支持像 heredoc 和 nowdoc 这样的特殊语法,专门用于处理多行字符串。
- 我们可以使用点 (.) 操作符将两个或多个字符串连接(拼接)在一起。
在 PHP 中声明字符串
我们有四种不同的方式来定义 PHP 字符串字面量:
- 单引号 (Single quoted)
- 双引号 (Double quoted)
- Heredoc 语法
- Nowdoc 语法
1. 单引号
单引号通常用于定义简单的字符串。单引号内的文本会被视为“原样”输出,这意味着其中的特殊字符和变量不会被解析。
PHP
CODEBLOCK_1eeafeeb
Output
欢迎来到极客社区
上面的程序可以正确编译。我们创建了一个字符串 ‘欢迎来到极客社区‘,将其存储在变量中,并使用 echo 语句打印出来。
让我们看看下面这个程序:
PHP
CODEBLOCK_0d2ff63c
Output
欢迎来到 $site
- 在上面的程序中,echo 语句打印的是变量名本身,而不是变量的内容。
- 这是因为 PHP 中的单引号字符串不会处理特殊字符。
- 因此,字符串无法将 ‘$‘ 符号识别为变量名的开始。
2. 双引号
与单引号字符串不同,PHP 中的双引号字符串能够处理特殊字符。
PHP
CODEBLOCK_5a030ed6
Output
欢迎来到极客社区
欢迎来到极客社区
下面我们将解释一些与双引号字符串一起使用的重要且常用的特殊字符:
这些字符通常以反斜杠 ("\\") 开头,被视为转义序列,并会被替换为特定的特殊字符。以下是一些重要的转义序列。
Replaced By
—| \
制表符
美元符号 ($)
回车
反斜杠 (\\)
双引号 (")
单引号 (‘)## 单引号 vs 双引号
Double Quotes (")
—
会读取文本中的变量并显示其值。| 像 \
这样的特殊字符不起作用。 | 像 \
(换行符) 这样的特殊字符起作用。 |
如果想在内部添加双引号,使用 \"。### 3. Heredoc 语法
Heredoc 语法 (<<<) 是另一种界定 PHP 字符串的方式。我们在 heredoc 操作符 (<<< ) 之后给出一个标识符,然后就可以开始新的一行并写入任何文本。要结束该语法,需要在单独一行上再次写入相同的标识符,且该行前面不能有任何制表符或空格。
PHP
CODEBLOCK_a03278c0
Output
欢迎来到极客社区。
开始在极客社区创作内容!。
我很享受这个过程。
> 注意: Heredoc 语法类似于双引号字符串,只是不需要外部的引号。
4. Nowdoc 语法
Nowdoc 与 heredoc 非常相似,主要区别在于 Nowdoc 不进行内容解析。其语法类似于 heredoc,使用符号 <<< 后跟一个用单引号括起来的标识符。Nowdoc 的规则与 heredoc 相同。
PHP
CODEBLOCK_effded58
Output
欢迎来到极客社区。
开始在极客社区创作内容!。
欢迎到极客社区。
在极客社区学习 PHP 很有趣。
> 注意: Nowdoc 语法类似于单引号字符串。
常用的 PHP 字符串函数
Description
—
返回字符串的长度
反转字符串
将字符串转换为大写
将字符串转换为小写
查找子字符串的位置
替换字符串中的文本
提取字符串的一部分
去除字符串两端的空格
将字符串分割成数组
将数组元素连接成字符串> 想要了解更多关于 PHP 字符串函数的知识,推荐阅读相关技术文档。
使用字符串的最佳实践
- 当不需要解析变量时,使用单引号。
- 如果需要进行复杂的变量解析或包含转义字符,使用双引号或 heredoc。
- 处理大量多行文本(如 HTML 或 SQL)时,heredoc 和 nowdoc 是很好的选择,因为它们保留了文本的原始格式。
- 在连接字符串时,为了保持代码清晰,尽量使用点 (.) 操作符而不是在双引号中嵌入复杂的变量。