📜  | 之间有什么区别?和 ||或PHP的运算符?(1)

📅  最后修改于: 2023-12-03 15:21:24.677000             🧑  作者: Mango

区别与介绍

区别

|是位运算符,而||是逻辑运算符。

在位运算中,|表示进行二进制的与运算,||则表示进行逻辑的或运算。

在逻辑运算中,||表示逻辑或运算,即只有其中一个表达式为真时,整个表达式的值为真,而|也可以进行逻辑或运算,但它会对两个表达式都进行位运算,得到的结果再进行逻辑或运算。

介绍
位运算符(|

|运算符是二进制位运算符,用于对两个整数的二进制进行按位“或”运算。分别取出两个整数二进制的某一位,若其中一个为1,则结果的该位为1,否则为0。

示例:

$a = 10;   // 二进制为 1010
$b = 6;    // 二进制为 0110
$c = $a | $b;
echo $c;   // 输出 14,二进制为 1110
逻辑运算符(||

||运算符是逻辑运算符,用于判断两个表达式中是否有一个为真(true),如果其中一个为真,则整个表达式的值为真,否则都为假(false)。

示例:

$a = 10;
$b = 6;
if ($a > 5 || $b > 8) {
    echo "至少有一个大于";
} else {
    echo "都小于等于";
}
// 输出结果为 "至少有一个大于"
逻辑或运算符(|

|运算符既可以进行位运算,也可以进行逻辑运算,但它会对两个表达式都进行位运算,得到的结果再进行逻辑或运算。

示例:

$a = 10;
$b = 6;
if (($a > 5) | ($b > 8)) {
    echo "至少有一个大于";
} else {
    echo "都小于等于";
}
// 输出结果为 "至少有一个大于"
总结

|||虽然长得很像,但功能完全不一样。需要根据实际需要选择使用哪个运算符,以达到预期的效果。