当使用带有OR的IF语句时,无论foo是什么,它都会返回yes


When using IF statement with OR it returns yes no matter what is foo

我有:

<? if ($foo != 11 || 10) {echo 'Some html code there';} ?>

当我运行它时,if语句返回yes,不管foo的值是什么。当我删除"|| 10"时,它工作得很好。问题出在哪里?

您的问题出在|| 10部分。

就跟你说

一样
if(10)

, 10为true ish。试试这个

if ($foo != 11 || $foo != 10)

无论你给出什么作为输入,你的代码都将被执行,因为,假设给定一个数字11,对于第一个条件它将为假,即11 != 11但是,当你使用11 != 10时,这将计算为真,因此你将得到if块的结果为真。
为了完美的锻炼,首先使用负值,就像如果值不是这些值会发生什么一样。或者使用&&操作符。