我有一个循环,我用:
回显了项目的编号$i = 1;
[content]
$i++;
在我的内容中,我试图根据$i
if ($user_id == 2 and $i != 1 || $i != 2 ) {
}
如果我遗漏这部分:|| $i != 2
它可以正常运行,脚本失败并返回true。
我如何才能使用1和2值?
答案 0 :(得分:1)
<强>概述强>
我使用&&
代替and
,并且总是用括号组织更复杂的IF
语句以便
a)在美学上你可以看到解析顺序
b)您可以手动设置解析顺序,特别是如果与PHP的优先级不同
<强>校正强>
话虽如此:
如果
,您希望触发条件$user_id
为2
且$i
不是1
,或$i
不是2
所以你可以这样做:
if( ($user_id == 2 && $i != 1) || ($i != 2) ){
//...
在这里,您可以看到两个命令通过将它们括在自己的括号中来分隔。
<强>证明强>
$i = 1
和$user_id = 1
:第一个括号为false
,第二个括号为true
,条件触发$i = 1
和$user_id = 2
:第一个括号为false
,第二个括号为true
,条件触发$i = 2
和$user_id = 1
:第一个括号为false
,第二个括号为false
,条件不会触发$i = 2
和user_id = 2
:第一个括号为true
,第二个括号为false
,条件触发答案 1 :(得分:0)
你真正想要的是和操作员。
if ($user_id == 2 and $i != 1 and $i != 2 ) {
...
}
为了执行if块的内容,您需要满足所有这些条件,因此并且是您需要的运算符。