Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP:如何隐藏/显示HTML块_Php_Html - Fatal编程技术网

PHP:如何隐藏/显示HTML块

PHP:如何隐藏/显示HTML块,php,html,Php,Html,我希望有人能帮我解决这个新问题。我刚刚来自一个ASP.Net环境,在那里很容易隐藏或显示HTML块。例如:表单的不同阶段,取决于用户输入的内容 隐藏或显示/s非常简单,但在PHP中,我所能做的就是将HTML放入echo语句中。这使得HTML很难阅读,很难维护,整个文件看起来相当混乱 我敢肯定,一定有更好的方法隐藏或显示HTML块,而不必使用echo语句,但我找不到任何在线文档来解释如何隐藏或显示HTML块 感谢您提供有关此级别问题的任何提示、建议或指向优秀PHP资源的链接。尝试以下方法: <

我希望有人能帮我解决这个新问题。我刚刚来自一个ASP.Net环境,在那里很容易隐藏或显示HTML块。例如:表单的不同阶段,取决于用户输入的内容

隐藏或显示
/
s非常简单,但在PHP中,我所能做的就是将HTML放入
echo
语句中。这使得HTML很难阅读,很难维护,整个文件看起来相当混乱

我敢肯定,一定有更好的方法隐藏或显示HTML块,而不必使用
echo
语句,但我找不到任何在线文档来解释如何隐藏或显示HTML块

感谢您提供有关此级别问题的任何提示、建议或指向优秀PHP资源的链接。

尝试以下方法:

<?php if ($var == true) { ?>
    <table>...</table>
<?php } ?>

...

您可以使用PHP标记,如包裹在HTML上的标记,并根据条件,呈现HTML或不呈现HTML。

您不需要将HTML放入
echo
语句中。将HTML视为隐式的
echo
ed。因此,对于有条件地显示HTML块,您将寻找如下构造:

<?php
    if (condition == true) {
?>
    <div>
        <p>Some content</p>
    </div>
<?php
    }
?>

一些内容


因此,存在于PHP标记之外的HTML字符串文本只是隐式地传递到页面,但是您可以围绕它包装逻辑来驱动它。在上面的语句中,
div
及其内容都在
if
语句的范围内,因此,只有当PHP代码中的条件为
true

时,才会传递HTML块(即使它在PHP标记之外),考虑到PHP是一种嵌入式语言,为了获得更好的可读性,使用“模板”的特定语言形式

您可以在
标记之外编写HTML,而不用echo(千万不要使用
,这可能会产生误导)

还建议使用
if():
而不是
if(){
,例如:

<body>
    <?php if (true) : ?>
        <p>It is true</p>
    <?php endif; ?>
</body>

这是真的

参考资料:


这也应该有效。例如,用于隐藏/显示表格标签


Aha!太好了。非常感谢。@Django,为了更好的可读性,你应该使用其他语法,阅读我的答案。@Charliepiga:同意。我的语法有点“爆炸”为了显示每个构造。总是有不同的、通常更好的方法来组织代码。谢谢你的回答,但我认为你的代码是错误的。第三行应该是:
?我从来没有见过这个,非常整洁。我只是阅读了引用的链接。我发现替代语法不是必需的,但很有用l的可读性。我想我会这样做,谢谢!我认为这种语法
if():
if(){
是一个优先选择的问题。我个人觉得大括号符号更容易阅读,我的IDE为我很好地突出了它。@scunliffe,有大量的代码查找
}
指的是非常困难的,而
endforeach;
完全解释了这一点。再一次,这是个人偏好的问题;-)我还发现
endif
endforeach
endwhile
等等。这让我想起了末端支架评论的可怕做法,比如:
}//如果
结束,再加上如果我将我的foreach更改为一段时间,我不需要编辑结束语法来匹配。哇。自从我问了这个问题,我已经走了很长一段路(X-)