我从我用来学习PHP的教程中得到了以下代码。我知道//
用于注释掉代码。在下面代码的第一行中,您会看到{// subject selected ?>
?>
以及//
文字没有注释掉php标记subject selected
吗?
<?php if (!is_null($sel_subject)) {// subject selected ?>
<h2><?php echo $sel_subject['menu_name'];?></h2>
<?php } elseif (!is_null($sel_page)) {// page selected ?>
<h2><?php echo $sel_page['menu_name']; ?></h2>
<?php } else { // nothing selected ?>
<h2>Select a subject or page to edit</h2>
<?php } ?>
答案 0 :(得分:4)
解决此类问题的最佳位置是an official man page:
“单行”注释样式只注释到行尾或PHP代码的当前块,以先到者为准。这意味着// ...&gt;之后的HTML代码或#...?&gt;将被打印:?&gt;跳出PHP模式并返回HTML模式,和//或#不能影响它。
我可以向你保证,这比一些发烧友的自愿帮助更可靠的知识来源
答案 1 :(得分:3)
不,?>
未被注释掉。
答案 2 :(得分:1)
没有?>
没有使用内嵌注释进行注释,它们是块注释。
示例:以下?>
未被注释掉。
<?php
\\?>
echo 'works';
?>
以下内容确实被注释掉了。
<?php
/*
?>
*/
echo 'failed';
?>
答案 3 :(得分:0)
{// subject selected ?>
不,?>
未被评论。因为,这不是php语句的一部分。这是apache用来确定的标记。 Apache会将标签包含的内容发送到php,并将php的输出放在其输出缓冲区中。