我很惊讶地发现你可以将PHP函数分解为原始HTML并返回。我知道你可以用循环和条件来做这种事情,但这对我来说是一个惊喜。这是一个意外还是这个明确定义的行为? (我在手册中找不到关于功能案例的任何明确的讨论。)您何时可以混合使用HTML和PHP,是否有任何限制?
[注意:以下代码没有给出我何时会使用此行为的一个很好的示例,但我保持它对演示目的]
<?php
$i = 0;
while($i++ < 3) {
?><p>I am in a while loop.</p><?php
}
// this part surprised me
function actSkeptical($adjective) {
?><p>Is it <?= $adjective ?> that this works?.</p><?php
}
actSkeptical("weird");
?>
输出:
I am in a while loop.
I am in a while loop.
I am in a while loop.
Is it weird that this works?
我知道有些人很讨厌混合PHP和HTML这样的,但我不能做OOP /模板(对于原因,我不会进入这里),我喜欢尽可能多地查看原始HTML。
此外,我不太了解上面的短打开/关闭标记(输出$adjective
)如何与周围的代码一起工作的语义。 PHP是否仅仅将原始HTML视为echo
声明?然后<?= $adjective ?>
就像在一个字符串中包含一个变量?
您正在查看PHP的行为。这并不漂亮,我不建议这样编码,但如果您认为有必要,可以利用它。基本上,PHP并不关心''标签之外的任何内容,PHP之外的任何内容都会发送到浏览器。 – Crackertastic 2014-10-17 04:55:58
http://php.net/manual/en/language.basic-syntax.phpmode.php – 2014-10-17 04:57:08
@Tieson谢谢,但我读过,不幸的是它没有提及函数。 – 2014-10-17 05:01:22