var_dump((bool) "");        // bool(false)
var_dump((bool) 1);         // bool(true)
var_dump((bool) -2);        // bool(true)
var_dump((bool) "foo");     // bool(true)
var_dump((bool) 2.3e5);     // bool(true)
var_dump((bool) array(12)); // bool(true)
var_dump((bool) array());   // bool(false)
var_dump((bool) "false");   // bool(true)过去是说非0即为TRUE,但是var_dump((bool) array());  也是false.请问PHP中究竟如何判断ture or false的?

解决方案 »

  1.   

    PHP中,当其他类型变量转换为 boolean 时,以下值被认为是 FALSE:    布尔值 FALSE 自身;
        整型值 0 (零);
        浮点型值 0.0 (零);
        空字符串(""), 以及 字符串("0");
        不包括任何元素的数组;
        不包括任何成员变量的对象(仅PHP 4.0 适用);
        特殊类型 NULL (包括尚未设定的变量);
        从没有任何标记(tags)的XML文档生成的SimpleXML 对象;其它所有值都被认为是 TRUE(包括任何资源)。注意: -1 和其它非零值(不论正负)一样,被认为是 TRUE!<?php
    var_dump((bool) "");        // bool(false)
    var_dump((bool) 1);         // bool(true)
    var_dump((bool) -2);        // bool(true)
    var_dump((bool) "foo");     // bool(true)
    var_dump((bool) 2.3e5);     // bool(true)
    var_dump((bool) array(12)); // bool(true)
    var_dump((bool) array());   // bool(false)
    var_dump((bool) "false");   // bool(true)
    ?>
      

  2.   


    手册中讲得很明白了http://cn.php.net/manual/zh/language.types.boolean.php
      

  3.   

    http://php.net/manual/zh/language.types.boolean.php  有详细说明
      

  4.   

    空就是假,以及Null,"",''等等,只要感觉是空的就是假的。