我写了这个非常简单的代码:
$foo=false;
echo $foo;//It outputs nothing
为什么呢?它不应该输出false
吗?我能做些什么才能做到这一点?
答案 0 :(得分:5)
false
计算为空字符串。
使用
echo $foo ? "true" : "false";
答案 1 :(得分:3)
字符串“false”不等于false
。将false
转换为字符串时,会得到一个空字符串。
你所拥有的是隐含地这样做:echo (string) $foo;
答案 2 :(得分:1)
如果你想在回显测试等时看到“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