PHP 字符串数据类型

phpserver side programmingprogramming更新于 2025/8/19 8:37:17

定义和用法

在 PHP 中,字符串 数据类型是非数字字符序列。ASCII 码中的任何字符都可以作为字符串的一部分。PHP 不支持 UNICODE。

在 PHP 中,字符串的字面表示可以使用单引号、双引号、hererdoc 语法和 nowdoc 语法。

语法

//将字符串值直接赋值给变量
$var='Hello World'; //单引号
$var3="Hello World"; //双引号

要在单引号字符串中嵌入单引号字符,请在其前面加上 '\'。类似地,要在单引号字符串中嵌入反斜杠,请在其前面加上额外的反斜杠。其他转义序列字符(例如
等)不带有任何特殊表示。

双引号字符串将以下转义序列及其特殊含义视为:

序列
含义

换行符
\r回车符
\t水平制表符
\v垂直制表符 (自 PHP 5.2.5 起)
\e转义符 (自 PHP 5.4.4 起)
\f换页符 (自 PHP 5.2.5 起)
\反斜杠
\$美元符号
\"双引号

Heredoc 字符串以 <<< 符号开头,后跟用户选择的任意标识符。下一行开始,是任意多行字符序列,这些字符可能包含上述任何转义序列。最后一行应具有相同的 Heredoc 标识符,并以分号结尾。

//Heredoc 将字符串值赋值给变量
public $var = <<< XYZ
Hello World
Welcome to Tutorialspoint
XYZ;

Nowdoc 字符串与 Heredoc 字符串类似。区别在于,标识符必须用单引号括起来,并且 Nowdoc 字符串中的转义序列不会被解析,而是按原样显示。

//Nowdoc 将字符串值赋值给变量
public $var = <<< 'XYZ'
Hello World
Welcome to Tutorialspoint
XYZ;

PHP 版本

自 PHP 7.40 起,可以使用分隔符号"_"

以下示例显示了单引号字符串。转义序列
未被解析,因此按原样显示

示例

<?php
$var = 'Hello World.
Welcome to Tutorialspoint'; echo $var; ?>

输出

这将产生以下结果 −

Hello World.
Welcome to Tutorialspoint

此示例使用双引号括起字符串。转义序列
被解析,文本显示为两行

示例

<?php
$var = "Hello World.
Welcome to Tutorialspoint"; echo $var; ?>

输出

这将产生以下结果 −

Hello World.
Welcome to Tutorialspoint

此示例展示如何使用 Heredoc 和 Nowdoc 语法来表示字符串

示例

<?php
//Heredoc
$var = <<< STR
Hello World
Welcome to Tutorialspoint
STR;
echo $var . "
"; //Nowdoc $var = <<< 'STR' Hello World Welcome to Tutorialspoint STR; echo $var; ?>

输出

这将产生以下结果 −

Hello World
Welcome to Tutorialspoint
Hello World
Welcome to Tutorialspoint

此示例显示变量的值在 heredoc 字符串中被替换。Nowdoc 字符串不进行替换

示例

<?php
$name = "Mahesh";
$var = <<< STR
Hello $name
Welcome to Tutorialspoint
STR;
echo $var . "
"; //Nowdoc $var = <<<'STR' Hello $name Welcome to Tutorialspoint STR; echo $var; ?>

输出

这将产生以下结果 −

Hello Mahesh
Welcome to Tutorialspoint
Hello $name
Welcome to Tutorialspoint

相关文章