我<<<EOD用来输出一些数据.我的问题是如何在<<<EOD语法内部使用php ?我可以像这样使用它吗?
<<<EOD
<h3>Caption</h3>
if(isset($variablename))
{
echo "...some text";
}
else
{
echo "...some text";
}
EOD;
Run Code Online (Sandbox Code Playgroud)
不,因为<<<块内的所有内容(称为"HEREDOC")都是字符串.
如果你在问题中编写代码,你将编写一个包含PHP代码的字符串,这不是你想要的(我希望).
在HEREDOC之外做你的逻辑,并在其中使用纯变量:
if(isset($variablename)) {
$outputVar = "...some text";
} else {
$outputVar = "...some text";
}
print <<<EOD
<h3>Caption</h3>
{$outputVar}
EOD;
Run Code Online (Sandbox Code Playgroud)
您只能在双引号字符串中使用表达式而不是语句.
但是,在复杂的变量表达式中有一种解决方法.事先声明实用程序函数,并将其分配给变量.
$if = function($condition, $true, $false) { return $condition ? $true : $false; };
Run Code Online (Sandbox Code Playgroud)
然后通过:
echo <<<TEXT
content
{$if(isset($var), "yes", "no")}
TEXT;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13919 次 |
| 最近记录: |