有问题的示例代码:
<?php
function foo($x) {
?> // <-- PHP end tag in question
<ul>
<li>Coffee</li>
<li>Tea</li>
<li>Milk</li>
</ul>
<?php
return ;
}
?>
我正在尝试确定这是否是PHP逻辑文件中可接受的编码标准/编码实践,以及与其他html打印/连接方案相比,此方法的缺点是什么。
有关于PHP字符串的文档,你会发现非常有用。它解释了单引号、双引号、heredoc 和 nowdoc 语法之间的区别。我不想就这个问题征求意见,但我认为你展示的方法不是很常用的。
您提供的逻辑是不可接受的。
您可以这样做:
<?
function foo($x) {
$var = <<<END
<ul>
<li>Coffee</li>
<li>Tea</li>
<li>Milk</li>
</ul>
END;
echo $var;
}
foo();
// OR You Can do this:
function foo2($x){
$var = <<<END
<ul>
<li>Coffee</li>
<li>Tea</li>
<li>Milk</li>
</ul>
END;
return $var;
}
echo foo2();
//If the function is only intended for printing just use global variables as you haven't used the $x argument..
?>
*另请注意,在
<<<END
和之前
END;
因此,我没有在函数内部将它们缩进到右侧。
该函数不返回值,因此无法尝试将其与字符串连接技术结合使用。
例如:
function bar() {
$concat = "Give me " . foo(null) . " please" ;
}
将输出
- 咖啡
- 茶
- 牛奶