变量设置为false


Variable set to false

我写了一个非常简单的代码:

$foo=false;
echo $foo;//It outputs nothing

为什么?它不应该输出false吗?我该怎么做才能让它发挥作用?

false在打印到页面时计算为空字符串。

使用

echo $foo ? "true" : "false";

字符串"false"不等于false。将false转换为字符串时,会得到一个空字符串。

您所拥有的是隐式地执行此操作:echo (string) $foo;

如果你想在回显测试等时看到一个"true"或"false"字符串,你可以一直使用这样一个简单的函数:

// Boolean to string function
function booleanToString($bool){
    if (is_bool($bool) === true) {
        if($bool == true){ 
            return "true";  
        } else { 
            return "false";
        } 
    } else { 
        return NULL;
    }
}

然后使用它:

// Setup some boolean variables 
$Var_Bool_01 = true;
$Var_Bool_02 = false;
// Echo the results using the function
echo "Boolean 01 = " . booleanToString($Var_Bool_01) . "<br />"; // true
echo "Boolean 02 = " . booleanToString($Var_Bool_02) . "<br />"; // false