在 PHP 8 中,多行字符串的表示方式

在 PHP 8 中,多行字符串的表示方式主要有以下几种:

  1. 双引号字符串 ("...")
    双引号字符串支持多行书写,换行符会被保留,并且可以包含变量解析和转义字符。
   $str = "这是一段
多行字符串
包含换行符";
   echo $str;
  1. 单引号字符串 ('...')
    单引号字符串同样支持多行书写,但不会解析变量或转义字符(除了 \'\\)。换行符也会被保留。
   $str = '这也是一段
多行字符串
不会解析变量';
   echo $str;
  1. Heredoc 语法
    Heredoc 是一种方便定义多行字符串的方式,使用 <<< 后跟一个标识符(通常是大写字母),以另一个对齐的标识符结束。支持变量解析和转义字符。
   $name = "世界";
   $str = <<<EOD
你好,{$name}!
这是一段
多行字符串
EOD;
   echo $str;
  1. Nowdoc 语法
    Nowdoc 类似于 Heredoc,但使用单引号包裹标识符(<<<'EOD'),不会解析变量或转义字符,适合存储原始文本。
   $name = "世界";
   $str = <<<'EOD'
你好,{$name}!
这是一段
不解析变量的字符串
EOD;
   echo $str;

注意事项

  • Heredoc 和 Nowdoc 的结束标识符必须顶格(不能有缩进),否则会导致语法错误。
  • 双引号和 Heredoc 支持变量解析(如 {$variable}$variable),而单引号和 Nowdoc 不支持。
  • PHP 8 没有引入新的多行字符串语法,以上方式与 PHP 7 一致。

发表评论

人生梦想 - 关注前沿的计算机技术 acejoy.com 🐾 步子哥の博客 🐾 背多分论坛 🐾 知差(chai)网 🐾 DeepracticeX 社区 🐾 老薛主机 🐾