PHP 简明教程

PHP 字符串

1. PHP 字符串

字符串是字符的序列,例如 "Hello world!"。

在 PHP 中,字符串必须由双引号或单引号包围。

示例

echo "Hello";
echo 'Hello';

注意: 在 PHP 中,双引号和单引号的使用是存在差异的。

2. 双引号还是单引号?

在开发中可以使用双引号或单引号,但开发者必须清楚了解两者之间的区别。

双引号包含的字符串会解析并替换内部变量的值,同时可以通过转义支持许多特殊字符,例如 \n\r\t

示例
双引号字符串会解析并替换变量的值:

$x = "John";
echo "Hello $x"; // 返回 Hello John

相反,单引号包含的字符串不会解析变量的值,而是会将编写的字符串按原样字面输出:

示例
单引号字符串按原样输出内容:

$x = "John";
echo 'Hello $x'; // 返回 Hello $x

3. 单引号与双引号的区别

为了更清晰地对比,以下总结了单引号和双引号在多个维度的核心差异:

特性单引号双引号
变量解析 (Interpolation)否 —— 像 $x 这样的变量会被作为普通文本字面量输出是 —— 变量会被自动解析并替换为它们对应的值
转义序列支持仅支持 \'\\支持多种转义序列,例如:\n\t\r\$\"
执行性能稍快(PHP 引擎不需要额外扫描和解析字符串内容)稍慢(PHP 引擎必须耗费资源扫描变量和转义序列)
代码可读性对于简单的常量纯文本字符串显得更清晰简洁对于包含多个变量的字符串更具可读性(无需频繁使用 . 进行字符串拼接)

示例

通过以下代码直观查看双引号和单引号之间的差异:

// 使用双引号
$x = "John";
echo "Hello $x\n";
echo "\tHow are you?\n";

// 使用单引号
$x = 'John';
echo 'Hello $x\n';
echo '\tHow are you?\n';