zoukankan      html  css  js  c++  java
  • 随记

    <?php
    $true = TRUE;
    $false = FALSE;
    $rt1 = $true && $false;//$rt1:FALSE
    $rt2 = $true and $false;//$rt2:TRUE

    var_dump($rt1);//FALSE
    var_dump($rt2);//TRUE
    var_dump($true && $false);//FALSE
    var_dump($true and $false);//FALSE

    这里最让人感到奇怪的就是为什么$rt1成了FALSE,而$rt2却是TRUE。其实这是PHP优先级在作怪。从文档中我们看到,赋值符号”=”的优先级低于逻辑与符号”&&”,但高于逻辑与符号”and”(也就是&& > = > and)。也就是说:

    $rt1 = $true && $false;
    $rt2 = $true and $false;

    在PHP看来其实是:

    $rt1 = ($true && $false);
    ($rt2 = $true) and $false;

    这样就容易解释为什么会有那样的结果了。那现在你知道下面两句的结果了吗?

    var_dump($rt1 = $true && $false);
    var_dump($rt2 = $true and $false);
  • 相关阅读:
    web--ajax--json
    4.26
    4.25
    4.23
    4.22
    4.20
    4.19
    4.18
    4月问题总结章
    4.17
  • 原文地址:https://www.cnblogs.com/IvyCodingLife/p/5038229.html
Copyright © 2011-2022 走看看