提问人:Otávio Barreto 提问时间:7/16/2023 更新时间:7/16/2023 访问量:27
修复 if 条件 php & 和 or 在相同的 if 范围内
Fix if condition php & and or in same if range
问:
尝试添加 & 和 or 如果 但 or 条件不起作用
else if ($usuario = 12 & $banca <=3 or =>7){
echo "ok";
}
只在工作时工作,但在工作时不工作,这是怎么回事?$banca <=3
$banca >=7
我尝试检查的范围在 <=3 和 >=7 之间
答:
2赞
Eduardo Pacheco
7/16/2023
#1
您的代码存在一些问题。一个更简单,一个更复杂的问题:语法和运算符的优先级。
首先,运算符是用于赋值的,而不是比较的。因此,的结果是 。之后,你有一个按位运算符,它将输出 if ,否则 。最后,您正在获取该结果并检查它是否是.换句话说:在不了解运算符的情况下使用运算符不会带你去任何地方。请更深入地研究 php 语言。=
$usuario = 12
12
&
0
$banca > 3
12
>= 7
虽然你的语法在PHP中是有效的,但运算符的优先级也会弄乱结果。看看 PHP 的运算符优先级。这就是 linter 和最佳实践手册将指示您添加括号以明确您的标准的原因之一,而不是依赖于晦涩难懂的运算符优先级。
现在,我们如何解决它?同样,请进一步研究 PHP 的运算符及其语法。有一些不错的课程,还有PHP的官方手册。但是,为了不让你悬而未决,以下是您的状况应该是什么样子的:
if ($usuario === 12 && ($banca <= 3 || $banca >= 7)) { ... }
评论