php &= 和 |= 是什么意思

在 PHP 中,&= 和 |= 是复合赋值运算符(也称为“位赋值运算符”),它们分别用于位与(AND)和位或(OR)操作,并将结果赋值回原变量。

&=(位与赋值运算符)

&= 运算符将左侧变量与右侧值进行位与操作,并将结果赋值回左侧变量。

例如:

$a = 5;  // 二进制: 0101  
$b = 3;  // 二进制: 0011  
$a &= $b; // $a 现在为 1 (二进制: 0001),因为 0101 & 0011 = 0001  
echo $a; // 输出 1

|=(位或赋值运算符)

|= 运算符将左侧变量与右侧值进行位或操作,并将结果赋值回左侧变量。

例如:

$a = 5;  // 二进制: 0101  
$b = 3;  // 二进制: 0011  
$a |= $b; // $a 现在为 7 (二进制: 0111),因为 0101 | 0011 = 0111  
echo $a; // 输出 7

注意事项

这些运算符也适用于布尔值,但在这种情况下,它们通常会被转换为整数(true 为 1,false 为 0)然后执行位运算。

除了 &= 和 |= 这样的复合位运算符之外,还有其他一些基本的位运算符,它们包括:

  1. &(按位与):只有两个相应的二进制位都为 1 时,结果位才为 1。
  2. |(按位或):只要两个相应的二进制位中有一个为 1 时,结果位就为 1。
  3. ^(按位异或):当两个相应的二进制位相异时,结果位为 1。
  4. ~(按位取反):对数的每一个二进制位取反(0 变为 1,1 变为 0)。
  5. <<(按位左移):将数的所有二进制位向左移动指定的位数,右侧用 0 填充。
  6. >>(按位右移):将数的所有二进制位向右移动指定的位数,左侧的处理与数值的符号有关(正数用 0 填充,负数则取决于系统)。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值