3

可能重复:
参考 - 这个符号在 PHP 中是什么意思?

这两者在php中有什么区别?

 if( $x==1 || $y==1)   if( $x==1 && $y==1)

与(分别)

 if( $x==1 | $y==1)    if( $x==1 & $y==1)

据我所知,它们的工作方式相同| 与 || 在 php.ini 中。但是必须有区别!!!

4

5 回答 5

6

||并且&&是布尔运算符,它们接受 2 个参数,将每个参数转换为布尔值,然后返回trueor false

|并且&位运算符。他们将参数转换为二进制并比较每一位。他们返回一个二进制数。

于 2012-11-20T03:51:25.317 回答
2

一种是使用条件or and and,另一种是使用按位or and and

于 2012-11-20T03:45:25.227 回答
1

||这是条件OR
|这有点明智or

  1. $a | $b Or(包括或)设置$a$b设置的位
  2. $a & $b And 在两者中设置$a$b设置的位。

.

              if( $x==1 || $y=1)             if( $x==1 && $y==1)

  if body --> if one of them is true            both is true
于 2012-11-20T03:46:26.337 回答
0

首先:if( $x=1 || $y=1)将 $x 设置为 1,将 $y 设置为 1。

正确的语法是:

if( $x==1 || $y==1)

用文字可以更好地表达差异:

if( $x==1 OR $y==1) `if( $x==1 AND $y==1)

双与号和双管道被称为逻辑运算符。在这里查看更多

单与号和单管道是按位语句。在这里查看更多

于 2012-11-20T03:46:24.493 回答
0

文档是你的朋友。&&并且||是逻辑运算符。你可以在这里阅读更多关于它们的信息。

我强烈建议您阅读运算符优先级并了解为什么&&vsand||vsor不同。了解什么时候一个比另一个更合适。本质=上具有高于andand的优先级or,但低于&&and的优先级||逻辑运算符部分的示例 #1很好地解释了这一点。

对于其他语言,您只有&&and ||,而不是andand or

&并且|是位运算符。您可以在此处阅读有关它们的信息。

位运算符的典型用法是标志。一种常见用途是 PHP 的error_reporting 设置

于 2012-11-20T04:17:11.570 回答