PHP - Get bool to echo false when false

前端 未结 14 1951
予麋鹿
予麋鹿 2020-11-22 14:09

The following code doesn\'t print out anything:

$bool_val = (bool)false;
echo $bool_val;

But the following code prints 1:

14条回答
  •  孤独总比滥情好
    2020-11-22 14:33

    var_export provides the desired functionality.

    This will always print a value rather than printing nothing for null or false. var_export prints a PHP representation of the argument it's passed, the output could be copy/pasted back into PHP.

    var_export(true);    // true
    var_export(false);   // false
    var_export(1);       // 1
    var_export(0);       // 0
    var_export(null);    // NULL
    var_export('true');  // 'true'   <-- note the quotes
    var_export('false'); // 'false'
    

    If you want to print strings "true" or "false", you can cast to a boolean as below, but beware of the peculiarities:

    var_export((bool) true);   // true
    var_export((bool) false);  // false
    var_export((bool) 1);      // true
    var_export((bool) 0);      // false
    var_export((bool) '');     // false
    var_export((bool) 'true'); // true
    var_export((bool) null);   // false
    
    // !! CAREFUL WITH CASTING !!
    var_export((bool) 'false'); // true
    var_export((bool) '0');     // false
    

提交回复
热议问题