我正在尝试输出Javascript代码heredoc语法,我希望使用PHP print_r
函数打印出来。有可能吗?
PHP:
<?php
function printR($val){
echo "<pre>";
print_r($val);
echo "</pre>";
}
$str = <<<EOT
var msg = "Hello my name is ";
var name = "Jermaine Forbes";
function writeIt(m,n){
console.log(m+n);
}
writeIt(msg,name);
EOT;
printR($str);
?>
(@FirstOne:我保留了EOT;
,因为它有*评论
答案 0 :(得分:2)
是的,你可以。如果你希望字符串中只有Javascript(没有PHP变量),我会使用nowdoc而不是heredoc(在开头EOT
附近使用单引号
$str = <<<'EOT'
var msg = "Hello my name is ";
var name = "Jermaine Forbes";
function writeIt(m,n){
console.log(m+n);
}
writeIt(msg,name);
EOT;
另请注意,结束分隔符必须在最后一行中单独使用。你之前或之后都不能有任何空间。您的代码无效,因为您缩进了EOT;
。 From the docs:
警告:非常重要的是要注意关闭的行 标识符必须不包含其他字符,分号(;)除外。 这尤其意味着标识符可能不会缩进,并且 在分号之前或之后可能没有任何空格或制表符。