为什么这个if语句的每个条件都包含在PHP标记中?
<?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 a page to edit</h2>
<?php } ?>
答案 0 :(得分:0)
因为使用了html。在PHP和HTML之间跳转称为转义。
但我建议你不要像这样使用PHP和HTML。可以查看一些模板系统,例如Smarty或具有内置模板系统的框架,例如Symfony使用twig。
如果你的文件包含很多HTML并且需要传递一个PHP变量,那么它的确可以。
样品
<?php $title="sample"; ?>
<html>
<title><?php echo $title; ?></title>
<body>
</body>
</html>
这不是很多html,而是样本的样子。
您提供给我们的样本应该更像......
<?php
if(!is_null($sel_subject))
{ //subject selected?
$content = $sel_subject["menu_name"];
}
else if (!is_null($sel_page))
{ //page selected?
$content = $sel_page["menu_name"];
}
else
{ // nothing selected
$content = "Select a subject or a page to edit";
}
echo "<h2>{$content}</h2>";
?>
你当然可以echo
。我更喜欢将它存储在变量中,因此我可以通过编辑最后一行而不是每行添加echo
来轻松阻止输出。
根据一些评论,我对来源做了批准:)
答案 1 :(得分:0)
因为<h2>
标签不是PHP,如果删除了PHP标签,则会显示错误
此代码将显示包含在<h2>
标记中的一行文本。
这称为转义。
答案 2 :(得分:0)
因为你不能只在你的php标签之间键入html。
但是,我宁愿使用以下语法,因为它更容易阅读。但这取决于程序员的意见。
<?php
if(!is_null($sel_subject))
{ //subject selected?
echo "<h2>" . $sel_subject["menu_name"] . "</h2>";
}
elseif (!is_null($sel_page))
{ //page selected?
ehco "<h2>" . $sel_page["menu_name"] . "</h2>";
}
else
{ // nothing selected
echo "<h2>Select a subject or a page to edit</h2>";
}
答案 3 :(得分:0)
因为在if语句中有一个HTML代码,您可以通过关闭PHP标记并将其再次打开来放置它:
<?php if(/*condition*/){ ?> <html></html> <?php } ?>
或:
<?php if(/*condition*/){ echo '<html></html>' ; }
答案 4 :(得分:0)
那是因为在这个片段中我们看到了html和php代码。代码<?php
从html-mode更改为php-mode,代码?>
更改回html-mode。
有几种可能会重写此代码以使其更具可读性。我建议如下:
<?php
//subject selected?
if (!is_null($sel_subject)) {
echo "<h2>" . $sel_subject["menu_name"] . "</h2>";
//page selected?
} elseif (!is_null($sel_page)) {
echo "<h2>" . $sel_page["menu_name"] . "</h2>";
// nothing selected
} else {
echo "<h2>Select a subject or a page to edit</h2>";
}
?>
使用echo
- 命令输出html,你不需要从php-mode更改为html-mode,你可以将php-tag减少到只有一个。