美文网首页
4.3 逻辑运算符

4.3 逻辑运算符

作者: 57fc17b7d598 | 来源:发表于2017-06-22 15:47 被阅读9次

逻辑运算符通常用于条件判断,基本用法如下:

// 定义变量
$foo = TRUE;
$bar = FALSE;

// 逻辑与,必须两者都为TRUE
$foo and $bar;   // false
$foo &&  $bar;   // false

// 逻辑或,两者任意其一为TRUE
$foo or $bar;   // true
$foo || $bar;   // true

// 逻辑非,取反向的布尔型结果
!$bar;         // true

// 逻辑异或,两者任意其一为TRUE,但不能同时是
$foo xor $bar;   // true

在处理逻辑运算符的问题上,需要特别注意几点:

一:优先级问题,建议参考官方运算符优先级

$foobar = 0 or 'hello world';
// 输出0,因为 = 优先级大于 or
echo $foobar;

$foobar = 0 || 'hello world';
// 输出1,因为 = 优先级小于 ||
echo $foobar;

二:PHP将以 从左到右 的方式进行判断。

$foobar = TRUE ? 'hello' : FALSE ? 'foo' : 'bar';
// 输出 foo
echo $foobar;

// 上例在PHP看来会是这个样子
$foobar = (TRUE ? 'hello' : FALSE) ? 'foo' : 'bar';

三:逻辑与 中只要其一为 FALSE,将停止判断立刻返回结果。

function foo(){
    echo 'hello';
    return false;
}
function bar(){
    echo 'world';
    return true;
}
// 输出 hello
foo() and bar();

四:逻辑或 中只要其一为 TRUE,将停止判断立刻返回结果。

function foo(){
    echo 'hello';
    return true;
}
function bar(){
    echo 'world';
    return false;
}
// 输出 hello
foo() or bar();

五:逻辑判断比较的是布尔型值,所以其他类型的变量在进行判断时会自动转成布尔值进行判断并返回。

// 输出1,因为`hello world`被转成布尔型 TRUE 了
echo 0 || 'hello world';

相关文章

  • 4.3 逻辑运算符

    逻辑运算符通常用于条件判断,基本用法如下: 在处理逻辑运算符的问题上,需要特别注意几点: 一:优先级问题,建议参考...

  • 1.4.运算符

    按功能分为: 算术运算符 赋值运算符 关系运算符 逻辑运算符 位运算符 其他运算符 ---------- 逻辑运算...

  • JavaScript逻辑运算符与赋值运算符

    逻辑运算符 JavaScript中有三个逻辑运算符,&&与、||或、!非。 JavaScript 中的逻辑运算符可...

  • 1.3 Python 运算符

    1.3.1 算数运算符 1.3.2 关系运算符 1.3.3 赋值运算符 1.3.4 逻辑运算符 注: 逻辑运算优先...

  • day05赋值运算符.三元运算符.三元运算符在分页业务逻辑中使用

    赋值运算符 比较运算符 三元运算符 三元运算符在分页业务逻辑中使用 逻辑运算符

  • 逻辑运算符

    赋值运算符 比较运算符 先运算再比较 逻辑运算符 比较大于逻辑!,&&,|| 单目运算符(!++ -- & ) 大...

  • 03-基本运算

    运算符可以分为:算术运算符、比较运算符和逻辑运算符。 优先级是:算术运算符>比较运算符>逻辑运算符。 不过呢,开始...

  • 03-基本运算

    运算符可以分为:算术运算符、比较运算符和逻辑运算符。优先级是:算术运算符>比较运算符>逻辑运算符。不过呢,开始没背...

  • 【Python】运算符

    基本运算符 比较运算符 逻辑运算符

  • 运算符

    算术运算符 + - * / % ++ -- 比较运算符 ><<=>= == 逻辑运算符 & &&| ||^! &...

网友评论

      本文标题:4.3 逻辑运算符

      本文链接:https://www.haomeiwen.com/subject/nbefcxtx.html