在php中,按逆条件顺序使用或在if-else条件内
如果我的条件为False,我试图得到“OK”,我希望保持与给定示例相同的if-else顺序,不要建议移动“if”中的“else”内容和“else”中的“if”内容在php中,按逆条件顺序使用或在if-else条件内,php,Php,如果我的条件为False,我试图得到“OK”,我希望保持与给定示例相同的if-else顺序,不要建议移动“if”中的“else”内容和“else”中的“if”内容 不好 好啊 在上面的脚本中 //案例1正在发挥作用 但是 案例2和案例3均不与或操作员一起工作 我希望所有3个案例都能以相同的模式工作我测试了这段代码,它能正常工作 if(!($flag != 0 || $point >= 1000)){ echo "Not OK"; }else{ echo "OK"; }
不好
好啊
在上面的脚本中
//案例1正在发挥作用
但是
案例2和案例3均不与或操作员一起工作
我希望所有3个案例都能以相同的模式工作我测试了这段代码,它能正常工作
if(!($flag != 0 || $point >= 1000)){
echo "Not OK";
}else{
echo "OK";
}
阅读您的评论后: 如果用户的分数等于/超过1000分或您切换了一个标志(基本上意味着“始终显示分数”),那么您似乎希望显示一些分数(在if-then-else的else分支中) 通常,您会在if分支中执行此操作:
if ($flag || $point >= 1000)
{
echo "OK";
} else {
echo "Not OK";
}
由于您希望Not OK
位于if分支中,因此需要反转条件,这样做意味着反转条件的每个部分以及运算符:
变为$flag
$标志
变为$point>=1000
$point<1000
变成|
&
if (!$flag && $point < 1000)
{
echo "Not OK";
} else {
echo "OK";
}
if(!$flag&&$point<1000)
{
回声“不正常”;
}否则{
回音“OK”;
}
将其写入真值表:
flag point result
0 < 1000 Not OK
1 < 1000 OK
0 >=1000 OK
1 >=1000 OK
标志点结果
0<1000不正常
1<1000正常
0>=1000正常
1>=1000正常
可能重复@tkausl,这不完全相同,我使用了与此问题不同的示例,现在我的示例对测试材料非常清楚,我希望从这里了解到您希望这三种情况都能与输出一起工作,对吗?@rahul_m,对如果(!$flag&$point 1000)){
,这基本上意味着$flag
控制您是否检查$point
($flag=false
意味着您检查小于/等于,$flag=true
意味着您检查大于
)请输入相反的条件并打印“OK”在问题中已经提到的else语句中,最后我得到了我的逻辑问题的解决方案,该解决方案在所有3种情况下都有效(干杯:)
flag point result
0 < 1000 Not OK
1 < 1000 OK
0 >=1000 OK
1 >=1000 OK