我希望有人能够帮助解决这个非常新手的问题。我刚从一个ASP.Net环境过来,那里很容易隐藏或显示HTML块。例如:根据用户输入不同的表单阶段。
在PHP中隐藏或显示
/非常简单,但我想到的唯一方法是将我的HTML放入echo语句中。这使得HTML非常难以阅读、难以维护,整个文件看起来非常凌乱。
我相信一定有更好的方法可以隐藏或显示HTML块,而不必涉及echo语句,但我找不到任何在线文档来解释如何做。
感谢任何提示、建议或链接到解决这个问题的好PHP资源。
我希望有人能够帮助解决这个非常新手的问题。我刚从一个ASP.Net环境过来,那里很容易隐藏或显示HTML块。例如:根据用户输入不同的表单阶段。
在PHP中隐藏或显示
我相信一定有更好的方法可以隐藏或显示HTML块,而不必涉及echo语句,但我找不到任何在线文档来解释如何做。
感谢任何提示、建议或链接到解决这个问题的好PHP资源。
考虑将PHP作为嵌入式语言时,为了获得更好的可读性,应使用特定于"模板"的语言形式。
与其使用echo,不如直接在<?php ?>
标记外编写HTML(永远不要使用可能会误导的<? ?>
)。
此外,建议使用if () :
而不是if () {
,例如:
<body>
<?php if (true) : ?>
<p>It is true</p>
<?php endif; ?>
</body>
参考资料:
if():
和 if(){
这两种语法是个人偏好的问题。我个人觉得花括号的表示法更易读,而且我的 IDE 也很好地为我突出显示了它。 - scunliffeendif
,endforeach
,endwhile
等等提醒我可怕的结尾括号注释习惯,比如:}//end if
。如果我将 foreach 改为 while,我不需要编辑我的关闭语法以匹配。 - scunliffeecho
语句中。把HTML隐式地看作是被echo
的。所以,如果要有条件地显示一块HTML,你需要使用如下结构:<?php
if (condition == true) {
?>
<div>
<p>Some content</p>
</div>
<?php
}
?>
因此,在 PHP 标签之外存在的 HTML 字符串文字只是隐式地传递到页面上,但您可以围绕它包装逻辑来驱动它。在上面的示例中,div
及其内容都在 if
语句的范围内,因此该 HTML 块(即使它在 PHP 标签之外)仅在 PHP 代码中的条件为 true
时才被传递。
试试这个:
<?php if ($var == true) { ?>
<table>...</table>
<?php } ?>
<?php } ?>
,对吧? - Chuck Le Butt这也应该可以工作。例如,用于隐藏/显示表格标记。
<table <?php echo (condition == true)?'visible':'hidden'; ?> ></table>