开发者社区> 问答> 正文

PHP 字符串中的Heredoc 和 Nowdoc 结构,如何使用?

问一个很基础的问题,PHP 字符串中的Heredoc 和 Nowdoc 结构,本人从来没有使用过,不知大家有没有用过?究竟其使用优势在什么地方?

展开
收起
落地花开啦 2016-06-12 15:52:46 3359 0
2 条回答
写回答
取消 提交回答
  • 首先要了解下定界符
    php可以使用

    <?php
    echo <<<EOT
    this is body
    this is body as well
    EOT
    ;

    这种方式来输出大段文字,其中EOT就是定界符,定界符有分为开始定界符和结束定界符,定界符可以是任何内容,只要保证开始定界符和结束定界符一致就行,比如

    <?php
    echo <<<AAA
    this is body
    this is body as well
    AAA
    ;

    这就是heredoc的写法,heredoc中的变量会被解析成具体的值

    <?php
    $a = 'this is string';
    echo <<<AAA
    this is body
    this is body as well
    $a
    AAA
    ;
    // output
    this is body
    this is body as well
    this is string

    如果希望内容不被解析,可以在开始定界符的两边加上单引号'EOT'

    <?php
    $a = 'this is string';
    echo <<<'AAA'
    this is body
    this is body as well
    $a
    AAA
    ;
    // output
    this is body
    this is body as well
    $a

    这就是nowdoc的写法

    2019-07-17 19:34:21
    赞同 展开评论 打赏
  • 喜欢技术,喜欢努力的人

    在程序里写SQL语句的时候还是很常用的

    而且有些ide或者编辑器,比如我的vim还可以高亮Heredoc里面SQL的关键字呢

    以此类推在程序里面写一些比较长的,带格式的特别是有好多折行的字符串用heredoc/nowdoc很不错

    2019-07-17 19:34:21
    赞同 展开评论 打赏
问答分类:
PHP
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
PHP 2017.北京 全球开发者大会——高可用的PHP 立即下载
PHP安全开发:从白帽角度做安全 立即下载
复杂PHP系统性能瓶颈排查及优化 立即下载