|之间有什么区别?和|| 运营商?

16 php operators

|||-是什么在PHP中这两个运营商之间的区别?

Ign*_*ams 21

|是一个按位或,||是一个布尔或.

  • 按位或表示(a | b)的值是在a或b中设置的位集.逻辑或意味着如果a或b为真或两者都为真,则(a || b)的值为真,如果两者都不为,则为假. (4认同)

Lir*_*una 12

含义

| 是二元运算符,它将二进制OR左手和右手的值.

||是一个布尔运算符,它遇到'true'时会短路(任何非零值,包括非空数组).

例子

print_r(1 | 2)  // 3
print_r(1 || 2) // 1
Run Code Online (Sandbox Code Playgroud)

与函数一起使用时:

function numberOf($val) {
    echo "$val, ";
    return $val;
}

echo numberOf(1) | numberOf(2);  // Will print 1, 2, 3
echo numberOf(1) || numberOf(2); // Will print 1, 1
Run Code Online (Sandbox Code Playgroud)