php的Heredoc

Author Avatar
Aryb1n 4月 06, 2017

以前没见过,长见识了

表达字符串的方式

  1. 单引号 (一切原样输出)
  2. 双引号
  3. heredoc 句法结构:<<<
    特别注意的是结束标志不能缩进

     <?php
     $str = <<<EOD
     Example of string
     spanning multiple lines
     using heredoc syntax.
     EOD;
    
     /* 含有变量的更复杂示例 */
     class foo
     {
         var $foo;
         var $bar;
    
         function foo()
         {
             $this->foo = 'Foo';
             $this->bar = array('Bar1', 'Bar2', 'Bar3');
         }
     }
    
     $foo = new foo();
     $name = 'MyName';
    
     echo <<<EOT
     My name is "$name". I am printing some $foo->foo.
     Now, I am printing some {$foo->bar[1]}.
     This should print a capital 'A': \x41
     EOT;
     ?>
    
     My name is "MyName". I am printing some Foo.
     Now, I am printing some Bar2.
     This should print a capital 'A': A
    
  4. nowdoc, 类似heredoc

    参考

    1. http://php.net/manual/zh/language.types.string.php