日期:2014-05-16  浏览次数:20684 次

初学PHP,有一个问题
看书上写了一些检验变量数据类型的函数,就试了试其中的一个

$a = 5;
    echo is_int($a);

为什么打印的是1,a是一个整形变量,不应该返回true吗?
------解决方案--------------------
$a = 5;
echo is_int($a); //1
var_dump(is_int($a)); //bool(true)

true 转换为数值时就是 1
------解决方案--------------------
1为真 真就是true ,0为假 假就是false
------解决方案--------------------
你echo 就输出1 你var_dump就是true了!
------解决方案--------------------

   $a = 5;
    echo var_dump(is_int($a));


------解决方案--------------------
据说PHP源码中一个echo是经过10多层调用的,实在没echo过布尔值,估计是强制转成整数了
------解决方案--------------------
整型 bool true = 1 false = 0