0

这就是我所拥有的:

<?php if($row['id']!="9") echo "style=\"display:none\""; ?>  

很简单,它应该style="dsplay:none"在“id”不是 9 时放置。这很好,但我也想包括“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"从来没有放置过。
这使我得出结论,逻辑或一定有问题。但它是什么?请让我知道,谢谢!

4

5 回答 5

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)))

凝聚条件。

于 2011-03-22T20:21:18.693 回答
2

你不能那样做。

使用if($row['id'] == 4 || $row['id'] == 5 || ...)或使用in_array()if(in_array($row['id'], array(4,5,6,11)))

于 2011-03-22T20:21:57.613 回答
1

我建议你写

<?php if(in_array($row['id'], array(8, 9, 12, 13)) /* ... */; ?>
于 2011-03-22T20:21:14.347 回答
1

您正在以一种行不通的方式将数字与字符串进行比较。例如 an $row['id']of1不等于 string "4||5||6||11"

您可以使用in_array检查数组中是否存在值的函数:

if(!in_array($row['id'], array(4, 5, 6, 11)) echo ' style="display:none"';

逻辑 OR ( ||) 在字符串中不起作用。

于 2011-03-22T20:21:56.473 回答
0

这不合逻辑,或者,这是一个字符串文字。但是德摩根

if(($row['id']!="8") && $row['id']!="9" && ...
于 2011-03-22T20:22:03.487 回答