![](/img/trans.png)
[英]PHP: Is it possible to embed HTML in the middle of a ternary operator somehow?
[英]Embed PHP in HTML using “:” operator
为了生成更清晰的PHP文件,我想回应更少的HTML并嵌入更多的PHP。 我偶然发现了如下构造:
<?php
foreach($allOGroups as $ogroup):
if($lastGroup != $ogroup['group']):
if($lastGroup !== null):
?>
</optgroup>
<?php
endif;
?>
我已经google了一段时间,但似乎无法找到如何使用这个神秘的“:”运算符的教程。 谁能指出我正确的方向?
谢谢,MrB
if ($a == $b) {
echo $a;
}
// is same as:
if ($a == $b):
echo $a;
endif;
引入此语法是为了使PHP更容易嵌入HTML。 通过告诉关闭哪个块代码变得更容易理解。
正如您所发现的,神秘的:
只是打开和关闭大括号的替代语法 。 当你将PHP与HTML混合时,它是最有效的,因为它可以更容易地发现你是关闭if
, for
, foreach
还是while
结构。
if($foo):
// Do something
endif;
for($i = 0; $i < 10; $i++):
// Do something
endfor;
foreach($foo as $k, $v):
// Do something
endforeach;
while($foo):
// Do something
endwhile;
这是PHP条件结构的一个特性。 您可以使用:
和相应的关键字,而不是使用大括号来标记块。
此外,它与嵌入PHP或HTML无关。
:不是运算符,它只是控制结构的替代语法的一部分。 就个人而言,我不会用它。 使用“标准”语法没有任何好处,我认为阅读起来比较困难。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.