我试图在$visible
不为空时隐藏表格行:
<?php
$visible = "yes"; // hide the row if different than "0"
?>
<HTML>
//Big HTML Block
<tr<?= !$visible ? "" : "class=\"hidden\""; ?>>
但我的输出是:
<tr>
而不是:
<tr class="hidden">
出了什么问题?有没有更好的方法去做我在这里尝试做的事情?
我这样做基本上是因为我想在代码的顶部定义,在大量HTML代码之后的<TR>
是否可见。它是我正在创建的一种模板。
答案 0 :(得分:2)
"yes"
是一个字符串,而不是布尔值。因此,只要字符串不为空(或特殊情况"0"
),php就会将其解释为true
。因此!$visible
= !true
= false
。因此选择了三元条件下的第二个分支。无论如何,你的逻辑似乎是倒退的。尝试使用布尔true
代替字符串"yes"
并删除!
。
<?php
$visible = true;
?>
<HTML>
//Big HTML Block
<tr<?= $visible ? "" : " class=\"hidden\""; ?>>
答案 1 :(得分:0)
<?php
$visible = true; // hide the row if different than "0"
?>
<HTML>
//Big HTML Block
<tr<?php if($visible)
echo "class=\"hidden\"";
else
echo ""; ?>>
答案 2 :(得分:0)
你必须检查它是否是“是”
<?= $visible == "yes" ? "show" : "" ?>
或者将值设置为类似
的布尔值$visible = true
答案 3 :(得分:0)
我还在学习,但如果你在没有条件的情况下写作,我发现评估条件更容易阅读。另外,使用&#34;&#34;周围&#39;&#39;而不是逃避每个报价。试试那些代码,我可能会遗漏一些东西。
<?php
$invisible = true; // hide the row if different than "0"
?>
<tr class="<?= $invisible ? 'hidden' : ''; ?>">
#stuff
</tr>