教程 > PHP教程 > PHP 基础 阅读:31

PHP 位运算符

位运算符

返回 PHP 运算符


位运算符允许对整型数中指定的位进行求值和操作。

常用位运算符如下:

例子名称结果
$a & $b 按位与将把 $a 和 $b 中都为 1 的位设为 1。
$a | $b 按位或将把 $a 和 $b 中任何一个为 1 的位设为 1。
$a ^ $b 按位异或 将把 $a 和 $b 中一个为 1 另一个为 0 的位设为 1。
~ $a 按位取反 将 $a 中为 0 的位设为 1,反之亦然。
$a << $b 左移将 $a 中的位向左移动 $b 次(每一次移动都表示“乘以 2”)。
$a >> $b 右移将 $a 中的位向右移动 $b 次(每一次移动都表示“除以 2”)。

位移在 PHP 中是数学运算。向任何方向移出去的位都被丢弃。左移时右侧以零填充,符号位被移走意味着正负号不被保留。右移时左侧以符号位填充,意味着正负号被保留。

要用括号确保想要的优先级。例如 $a & $b == true 先进行比较再进行按位与;而 ($a & $b) == true 则先进行按位与再进行比较。

示例

使用位运算符对变量中的值进行位运算操作,代码如下所示:

<?php
    $m = 8;
    $n = 12;
    echo '$m = '.$m.', $n = '.$n.'<br>';
    echo '$m & $n = '.($m & $n).'<br>';
    echo '$m | $n = '.($m | $n).'<br>';
    echo '$m ^ $n = '.($m ^ $n).'<br>';
    echo '~ $m = '.(~$m).'<br>';
    echo '$m << $n = '.($m << $n).'<br>';
    echo '$m >> $n = '.($m >> $n);
?>

运行结果如下:

$m = 8, $n = 12
$m & $n = 8
$m | $n = 12
$m ^ $n = 4
~ $m = -9
$m << $n = 32768
$m >> $n = 0

返回 PHP 运算符

查看笔记

扫码一下
查看教程更方便