PHP:“^”符号在这里是什么意思?求助!

2024-12-12 19:55:23
推荐回答(3个)
回答1:

这是异或运算符,按二进制位进行异或运算(XOR)。

其中:

0 ^ 0 = 0;
1 ^ 1 = 0;
0 ^ 1 = 1;
1 ^ 0 = 1;

举个例子:

echo 101 ^ 7; // 输出 98

为什么呢?下面就来分析一下。

101写成二进制是1100101;

7写成二进制是111,即0000111(将两个数的位数补成一样);

根据前面的表,按位运算:

    1 1 0 0 1 0 1
  ^ 0 0 0 0 1 1 1
---------------------
    1 1 0 0 0 1 0

就得到了二进制数1100010,转化为十进制就是98。


希望能解开您的疑惑。


参见:维基百科:逻辑异或:

http://zh.wikipedia.org/wiki/%E9%80%BB%E8%BE%91%E5%BC%82%E6%88%96

回答2:

这是按位与,这个你具体可以搜索一下 PHP 按位与,你就懂了

回答3:

我记得学PHP时是和运算符一起学的。什么相位与……觉得没有用就没研究