PHP 面试题 目录

PHP 中 heredoc 和 nowdoc 的用法?

推荐答案

在 PHP 中,heredocnowdoc 是两种用于定义多行字符串的语法结构。它们的主要区别在于是否解析字符串中的变量和转义字符。

heredoc 语法

nowdoc 语法

本题详细解读

heredoc 的用法

  1. 语法结构heredoc 使用 <<< 后跟一个标识符(如 EOD),然后在字符串结束后使用相同的标识符来结束字符串。
  2. 变量解析heredoc 会解析字符串中的变量和转义字符。例如,$name 会被替换为变量的实际值。
  3. 适用场景:适用于需要动态插入变量值的多行字符串。

nowdoc 的用法

  1. 语法结构nowdoc 使用 <<< 后跟一个单引号包裹的标识符(如 'EOD'),然后在字符串结束后使用相同的标识符来结束字符串。
  2. 变量解析nowdoc 不会解析字符串中的变量和转义字符。例如,$name 会原样输出,不会被替换为变量的实际值。
  3. 适用场景:适用于不需要解析变量和转义字符的多行字符串,通常用于静态文本或模板。

示例代码

-- -------------------- ---- -------
----- - ------

-- ------- --
----------- - ------
------ ------
---- -- - ------- -------
----

-- ------ --
---------- - --------
------ ------
---- -- - ------ -------
----

---- ------------ -- --------- ---- ---- -- - ------- -------
---- -----------  -- --------- ------ ---- -- - ------ -------

注意事项

  1. 标识符命名:标识符可以是任意有效的 PHP 标识符,但通常使用大写字母以便于区分。
  2. 结束标识符:结束标识符必须从行的第一列开始,并且后面不能有任何空格或字符。
  3. 嵌套使用heredocnowdoc 不能嵌套使用,否则会导致语法错误。
纠错
反馈