尝试查找值是空白还是具有值。如果空白,则放置一个简单的<li>
元素,如果有值,则它等于$_GET
查询。我的回报目前是空白的。我正在寻找一个具有真假输出的三元数,而没有多个迭代语句。
<?php
$res = "<li>";
$tmp = "";
if(isset($_GET['search-by'])){
$tmp = $_GET['search-by'];
}
?>
<ul>
<?php ($tmp != "") ? (($tmp == "fullname") ? "<li class='actBL" : "<li>") : "<li>" ?>
<a href="?search-by=fullname"> Name</a>
</li>
<?php ($tmp != "") ? (($tmp == "number") ? "<li class='actBL" : "<li>") : "<li>" ?>
<a href="?search-by=number">Number</a>
</li>
<?php ($tmp != "") ? (($tmp == "dep") ? "<li class='actBL" : "<li>") : "<li>" ?>
<a href="?search-by=dep">Department</a>
</li>
</ul>
答案 0 :(得分:1)
从它的外观来看,你也可以使用单个三元而不是链接多个三元运算符,但是这两个条件都是这样的
!empty($tmp) && $tmp == "fullname" ? "<li class='actBL'>" : "<li>"
你还没有真正做任何事情,你需要echo
或使用<?=
代替<?php
。而你忘了关闭<li class=...>
标签。我添加了empty()
而不是与空字符串进行比较。
最终的PHP看起来应该是这样的
<?php echo !empty($tmp) && $tmp == "fullname" ? "<li class='actBL'>" : "<li>"; ?>
答案 1 :(得分:1)
我只是将PHP开放标记更改为echo
的快捷方式。
<ul>
<?= ($tmp != "") ? (($tmp == "fullname") ? "<li class='actBL'" : "<li>") : "<li>" ?>
<a href="?search-by=fullname"> Name</a>
</li>
<?= ($tmp != "") ? (($tmp == "number") ? "<li class='actBL'" : "<li>") : "<li>" ?>
<a href="?search-by=number">Number</a>
</li>
<?= ($tmp != "") ? (($tmp == "dep") ? "<li class='actBL'" : "<li>") : "<li>" ?>
<a href="?search-by=dep">Department</a>
</li>
</ul>
答案 2 :(得分:0)
<ul>
<li <?= (!empty($tmp) && $tmp == "fullname") ? " class='actBl'" : "" ?>>
<a href="?search-by=fullname"> Name</a>
</li>
<li <?= (!empty($tmp) && $tmp == "number") ? " class='actBl'" : "" ?>>
<a href="?search-by=number"> Number</a>
</li>
<li <?= (!empty($tmp) && $tmp == "dep") ? " class='actBl'" : "" ?>>
<a href="?search-by=dep"> Department</a>
</li>
</ul>