【问题标题】:symbols == 0 true in php [duplicate]php中的符号== 0为真[重复]
【发布时间】:2014-04-08 01:06:42
【问题描述】:

我有这样的脚本

if('@' == 0){
        echo "true";
    }else{
        echo "false";
    }

输出:

true

问题是为什么它会成为真的以及如何让它成为假? 谢谢。

【问题讨论】:

标签: php conditional-statements


【解决方案1】:

正如 Mark Ba​​ker 在 cmets 中所说,PHP 使用弱类型。根据您在此处找到的比较矩阵 (http://www.php.net/manual/en/types.comparisons.php),涉及字符串 '@'0 比较的表达式将被评估为 true

将您的条件更改为:

if('@' === 0){
    ...

在这种情况下,您将获得false

【讨论】:

    【解决方案2】:

    要让这个条件正确地得到falsetrue,你需要比较运算符的值和类型。试试这个:

    if('@' === 0){
            echo "true";
        }else{
            echo "false";
        }
    

    在这种情况下,您将收到false

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-11-23
      • 2014-05-20
      • 1970-01-01
      • 2018-05-17
      • 2014-12-18
      • 1970-01-01
      • 2012-11-12
      相关资源
      最近更新 更多