为什么这样做有效?(HTML+;PHP)

为什么这样做有效?(HTML+;PHP),php,Php,有人能给我解释一下为什么会这样吗 <?php if ($selected_subject_id) { ?> <h2>Manage Subject</h2> <?php } elseif ($selected_page_id) { ?> <h2>Manage Page</h2> <?php } else { ?> Please select a subject or a page. <

有人能给我解释一下为什么会这样吗

<?php if ($selected_subject_id) { ?>
    <h2>Manage Subject</h2>
<?php } elseif ($selected_page_id) { ?>
    <h2>Manage Page</h2>
<?php } else { ?>
    Please select a subject or a page.
<?php }?>

管理科目
管理页面
请选择主题或页面。
基本上, 如果单击主题,“管理主题”将显示为标题 如果单击页面,“管理页面”显示为标题 如果两者均未单击,则显示“请选择主题或页面” 一次仅显示其中一个

我的问题是,为什么标题/msg的行为就像它们在PHP脚本中一样(遵守条件),而实际上它们在PHP脚本之外

是因为它们“在”条件语句的开始括号和结束括号内吗

在其他什么情况下,这会起作用


谢谢。

PHP确实能够以这种方式有条件地回显HTML。这实际上是非常常用的


您还可以在循环中回显HTML。

“这是因为它们在条件的开始和结束括号内吗?”~是的。另请参见理解它的最简单方法,即将
脚本“外部”的所有内容都视为一个大型
echo
语句,其中文本为文本字符串。但是里面没有任何解释:没有变量扩展,没有转义序列,等等。读一下:但是回显html不是一个好主意,他所做的一切都是正确的。我的意思是以这种方式打印出来的“echo”,而不是
echo
关键字。谢谢大家,我现在明白了。