php如何转换布尔变量?

时间:2009-11-13 03:25:47

标签: php variables types

php如何转换布尔变量?

我试图将一个布尔值保存到数组中:

$result["Users"]["is_login"] = true;

但是当我使用debug时,is_login值为空。 当我做条件时:

if($result["Users"]["is_login"])

条件总是错误的。

然后我尝试这样做:

$result["Users"]["is_login"] = "true";

并且有效。

这没什么大不了的,但是当我从函数返回布尔值时,我仍然需要将它们转换为字符串。

3 个答案:

答案 0 :(得分:9)

没有演员

if($result["Users"]["is_login"])

应该有效。 您可以尝试使用var_dump($result["Users"]["is_login"]);来确保已正确设置变量。

您可以使用issetmanual)函数检查是否设置了变量。

您还可以找到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