我有以下PHP脚本
<?php
echo (($statusSet) == 'all') ? "class='selected'": "";
?>
我想做的是在其中包含一个OR来说明$ statusSet等于所有OR NULL
因为我尝试添加正常类型的OR语句而无法正常工作,因此我很难与hwo一起写这篇文章
<?php
echo ((($statusSet) == 'all')||(($statusSet) == 'all'))) ? "class='selected'": "";
?>
答案 0 :(得分:6)
您所做的只是在整个if语句中添加另一个要计算的表达式。
<?php echo (($statusSet == 'all' || $statusSet === null) ? "class='selected'": ""); ?>
下面有人向我发布了一个几乎相同的片段,但是使用了 is_null()。请注意,使用 is_null()或 === null 很好,但使用 == null 并非最佳做法 - 它不会确保类型相等所以如果$ statusSet设置为(int)0,那么当 $ statusSet == null 实际上不是空值时,它将返回true。
答案 1 :(得分:2)
那么这样吗?
echo $statusSet == 'all' || $statusSet === NULL ? "class='selected'": "";?>
我不确定你是否将正确的行复制到了问题中,但你的原因是因为这两个条件完全相同,因此如果一个是真的那么那么另一个条件也是如此。 / p>
答案 2 :(得分:0)
<?php echo (($statusSet == 'all') || (is_null($statusSet)) ) ? "class='selected'": "";?>