这就是我所拥有的:
<?php if($row['id']!="9") echo "style=\"display:none\""; ?>
很简单,当'id'不是9时,它应该放置style="dsplay:none"
。这可以很好地完成工作,但我想包括'id'8,12和13。看起来很简单,只是添加了逻辑或像这样:
<?php if($row['id']!="8||9||12||13") echo "style=\"display:none\""; ?>
但它不再起作用,所以它始终放置style="dsplay:none"
。
我想反过来做这个
<?php if($row['id']=="4||5||6||11") echo "style=\"display:none\""; ?>
但是从未放置style="dsplay:none"
这一次
这让我得出的结论是,逻辑或逻辑肯定存在问题。但它是什么?请让我知道,谢谢!
答案 0 :(得分:3)
你想:
if($row['id']!= 8 && $row['id'] != 9 && $row['id'] != 12)
因为您目前的做法是将$ row['id']
的值与字符串值"8||9||12||13"
进行比较。
或者您可以执行以下操作:
if(in_array($row['id'], array(8, 9, 12)))
缩小条件。
答案 1 :(得分:2)
你不能那样做。
使用if($row['id'] == 4 || $row['id'] == 5 || ...)
或使用in_array()
:if(in_array($row['id'], array(4,5,6,11)))
答案 2 :(得分:1)
我建议你写一下
<?php if(in_array($row['id'], array(8, 9, 12, 13)) /* ... */; ?>
答案 3 :(得分:1)
您正在以不起作用的方式将数字与字符串进行比较。例如。 $row['id']
的{{1}}不等于字符串1
。
您可以使用in_array
函数检查数组中是否存在值:
"4||5||6||11"
逻辑OR(if(!in_array($row['id'], array(4, 5, 6, 11)) echo ' style="display:none"';
)在字符串中不起作用。
答案 4 :(得分:0)
这不符合逻辑,或者是字符串文字。但是De Morgan:
if(($row['id']!="8") && $row['id']!="9" && ...