尝试在相同的 if 中添加 & 和 or,但 or 条件不起作用
else if ($usuario = 12 & $banca <=3 or =>7){ echo "ok"; }
仅在 $banca <=3
时有效,但在 $banca >=7
时无效
怎么了?
我尝试检查的范围在 <=3 和 >=7 之间
P粉2573421662023-09-16 00:35:37
您的代码存在一些问题。一种更简单的一种和一种更复杂的一种:语法和运算符的优先级。
首先,运算符=
是用于赋值,而不是比较。因此,$usuario = 12
的结果是 12
。接下来,您有一个按位运算符 &
,如果 $banca > 3
,则输出 0
,否则 12
。最后,您获取该结果并检查它是否为 >= 7
。换句话说:在不了解操作员的情况下使用它们不会给您带来任何好处。请深入研究 php 语言。
尽管您的语法在 PHP 中有效,但运算符优先级也会弄乱结果。查看 PHP 的运算符优先级。这就是短绒检查和最佳实践手册将指示您添加括号以使您的标准清晰,而不是依赖于晦涩运算符优先级的原因之一。
现在,我们该如何解决这个问题?再次,请进一步研究一下 PHP 的运算符及其语法。有一些很好的课程,还有PHP 官方手册。但是,不要让您悬而未决,您的情况应该是这样的:
if ($usuario === 12 && ($banca <= 3 || $banca >= 7)) { ... }