这个PHP错在哪里

我用thinkphp5执行下面这个,不知道为什么会成功。按照常理来讲$q没定义,也就是不存在,if语句应该是不成功才对

<?php
     
        if($q==0){
            echo 'qqqqq';
            
        }
阅读 3.5k
5 个回答

$q未定义,可以当成false,false即为0, 要判断完全相等用===

判断定义应该用if(isset($b))

要记住php是弱类型。。。。

php 中的null 等于 false,0 也是false,未定义变量默认指向空,所以($q == 0) = true

自动类型转化,$q会当成false

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题