php如何转换布尔变量?
我试图将一个布尔值保存到数组中:
$result["Users"]["is_login"] = true;
但是当我使用debug时,is_login值为空。 当我做条件时:
if($result["Users"]["is_login"])
条件总是错误的。
然后我尝试这样做:
$result["Users"]["is_login"] = "true";
并且有效。
这没什么大不了的,但是当我从函数返回布尔值时,我仍然需要将它们转换为字符串。
答案 0 :(得分:9)
没有演员
if($result["Users"]["is_login"])
应该有效。
您可以尝试使用var_dump($result["Users"]["is_login"]);
来确保已正确设置变量。
您可以使用isset
(manual)函数检查是否设置了变量。
您还可以找到here PHP如何评估布尔值:
When converting to boolean, the following values are considered FALSE: the boolean FALSE itself the integer 0 (zero) the float 0.0 (zero) the empty string, and the string "0" an array with zero elements an object with zero member variables (PHP 4 only) the special type NULL (including unset variables) SimpleXML objects created from empty tags Every other value is considered TRUE (including any resource).
答案 1 :(得分:0)
你的例子中没有施放 你的问题可能在其他地方。
你介意分享更完整的代码吗?
答案 2 :(得分:0)
尝试:
if((bool)$result["Users"]["is_login"] == true)
{
// do something
}
回复你的一次遭遇:
但是当我使用debug时,is_login值为空。当我做条件时:
if($result["Users"]["is_login"])
因为你的返回值是布尔值true
,所以在PHP中没有它的表示,因此显示为空(主要是,如果值是布尔值false
,那么你'请看0