我已经用PHP开发了几年了,最近发现了这段代码:
<?php
echo <<<EOB
<html>
<head>
<title>My title</title>
</head>
...
EOB;
?>
Run Code Online (Sandbox Code Playgroud)
我从来没有见过这种打印HTML的方法,这似乎非常有用,并且不太容易出现一些奇怪的变量或双引号语法错误.
我已经搜索了一些关于此的官方信息,并且只找到了Rasmus谈论此事的帖子.
有关此功能的详细说明是什么,EOB是什么意思?可能结束了?
可能重复:
"<<<"运算符的名称是什么?
我刚在这个网站上看到过这段代码:
PHP for Beginners:构建您的第一个简单CMS
代码是:
private function buildDB() {
$sql = <<<MySQL_QUERY
CREATE TABLE IF NOT EXISTS testDB (
title VARCHAR(150),
bodytext TEXT,
created VARCHAR(100)
)
MySQL_QUERY;
return mysql_query($sql);
}
Run Code Online (Sandbox Code Playgroud)
我在这个操作数"<<<"中搜索高低,但我似乎无法在任何地方找到文档!
如果这个操作数是真实的,我想知道它是如何工作的,因为编写这样的SQL查询会使代码更具可读性,并且会使SQL bug更容易找到!
我可能会添加我尝试此代码并得到编译错误:
Parse error: syntax error, unexpected $end in C:\Users\Alex Morley-Finch\Dropbox\Shared\Projects\htdocs\test\php\database.php on line 121
Run Code Online (Sandbox Code Playgroud) 所以我正在寻找另一个人试图解决它的代码,我不确定发生了什么.我对编程有很强的了解,但有一条线让我失望.见下文:
<?php
switch ($task) {
case "createDJ":
echo <<<END;
<h5>Create DJ Form</h5>
<!-- Code for DJ form goes here. -->
END;
break;
case "createShow":
echo <<<END;
<h5>Create Show Form</h5>
<!-- Code for Show form goes here. -->
END;
break;
//...
?>
Run Code Online (Sandbox Code Playgroud)
这些END陈述是怎么回事?我以前从未见过它们,而且,<<<标志是什么?
编辑:抱歉语法高亮,不知道为什么它是凌乱的.
编辑:现在我明白为什么语法突出显示搞砸了!哈哈