$out = <<<END
    <div class="dashicons">
        <a id="$class" alt="$title" href="$href">
        <img class="dash_button" src="$img"/>
        <span class="dash_text">$title</span></a>
    </div>
END;
echo $out;
是什么意思?

解决方案 »

  1.   

    定义了一个字符串 $out       php  heredoc
    http://apps.hi.baidu.com/share/detail/15604411
      

  2.   

    Thank you very much!!!!!!!
      

  3.   

    Heredoc结构第三种定义字符串的方法是用heredoc句法结构:<<<。在该提示 符后面,要定义个标识符,然后是一个新行。接下来是字符串 本身,最后要用前面定义的标识符作为结束标志。结束时所引用的标识符必须在一行的开始位置, 而且,标识符的命名也要像其它标签一样遵守PHP的规则:只能包含 字母、数字和下划线,并且不能用数字和下划线作为开头。Warning
    要注意的是结束标识符这行除了 可能有一个分号(;)外,绝对不能包括 其它字符。这意味着标识符不能缩进,分号的前后也不能有任何空白或tabs。更重要的是结束标识符的前面必须是个被本地 操作系统认可的新行标签,比如在UNIX和Mac OS X系统中是\n ,而结束标识符(可能有个分号)的后面也必须跟个 新行标签。如果不遵守该规则导致结束标签不“干净”,PHP将认为它不是结束标识符而继续寻找。如果在文件结束前也没有找到一个正确的结束标识符,PHP将会在最后一 行产生一个句法错误。Heredocs结构不能用来初始化class,而从PHP 5.3以后,则该限制只能用在包含变量的情况下。Example #1 非法的示例
    <?php
    class foo {
        public $bar = <<<EOT
    bar
    EOT;
    }
    ?>
    Heredoc结构就象是没有使用双引号的双引号字符串, 这就是说在heredoc结构中引号不用被替换,但是上文中列出的字符 (\n等)也可使用。 变量将被替换,但在heredoc结构中字符串表达复杂变量时,要格外小 心。Example #2 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
    也可以把Heredoc结构用在函数参数中来传输数据:Example #3 Heredoc结构在参数中的示例
    <?php
    var_dump(array(<<<EOD
    foobar!
    EOD
    ));
    ?>
    在PHP 5.3.0以后,也可以用Heredoc结构来初始化静态变量和类的属性和常量:Example #4 使用Heredoc结构来初始化静态值
    <?php
    // 静态变量
    function foo()
    {
        static $bar = <<<LABEL
    Nothing in here...
    LABEL;
    }// 类的常量、属性
    class foo
    {
        const BAR = <<<FOOBAR
    Constant example
    FOOBAR;    public $baz = <<<FOOBAR
    Property example
    FOOBAR;
    }
    ?>
    在PHP 5.3.0中还在Heredoc结构中用双引号来声明标志符:Example #5 在heredoc结构中使用双引号
    <?php
    echo <<<"FOOBAR"
    Hello World!
    FOOBAR;
    ?>
    Note:PHP4才引入了Heredoc结构。