-3

对于这样的控制结构,是否有任何官方或非官方文档:

<?php if ($expression == true) { ?>
    <h3>Output</h3>
<?php } else { ?>
    <h3>Another case</h3>
<?php } ?>

我第一次使用它时没有阅读文档,只是期望它可以工作并且效果很好。

但是,现在我已经
php.net/manual/en/control-structures.alternative-syntax.php
php.net/manual/en/language.basic-syntax.phpmode.php
阅读了有关 PHP 控制结构的文档,但仍然做到了找不到任何清楚地表明您可以使用这种方式的{东西。}并且 php.net 手册经常从各个角度提供许多关于几乎每个主题的好例子。(到目前为止我读过的内容

这甚至是官方的 PHP 功能吗?如果这就是为什么没有关于它的任何明确文档的原因?

这是记录(使用冒号:endif;)+手册中的示例代码作为奖励:

<?php if ($expression == true): ?>
    This will show if the expression is true.
<?php else: ?>
    Otherwise this will show.
<?php endif; ?>

我正在寻找真正的文档,而不是某人的博客/论坛帖子。
我知道它按预期工作,我一直使用它没有任何问题。
有点相关的问题这是将 HTML 放入 PHP 的正确方法吗?

4

3 回答 3

9

...当 PHP 解释器点击?>结束标记时,它只是开始输出它找到的任何内容 [...] 除非在条件语句的中间,在这种情况下,解释器将在决定什么之前确定条件的结果跳过哪个。

来源

于 2012-05-02T19:56:48.533 回答
2

控制结构的手册非常清楚。这与用于{}表示块的其他 C 风格语言基本相同。

这些控制结构与<?php ?>您所期望的完全一样地在 HTML 模式中切换上下文。

于 2012-05-02T19:56:15.157 回答
0

据我所知,第一种格式没有“真正的文档”。

原因是,因为假设您已经了解 php 如何与 HTML 结合使用。

需要理解的是,php 代表了在发送到浏览器之前,在服务器上对代码进行动态插入和预处理。因此,服务器查看您的代码,然后将相应的 HTML 打印到浏览器,或者不打印。它实际上就是为此目的而创建的。

于 2012-05-02T19:57:28.660 回答