繁体   English   中英

使用“:”运算符在PHP中嵌入PHP

[英]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混合时,它是最有效的,因为它可以更容易地发现你是关闭ifforforeach还是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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM