How does php cast boolean variables?
I was trying to save a boolean value to an array:
$result[\"Users\"][\"is_login\"] = true;
but
No casting happens in your example.
Your problem is likely somewhere else.
Would you mind to share a more complete piece of code?
Try:
if((bool)$result["Users"]["is_login"] == true)
{
// do something
}
.
And reply to one of your encounter:
but when I use debug the is_login value is blank. and when I do conditionals like:
if($result["Users"]["is_login"])
since your return value is boolean value true
, in PHP it doesn't have a representation for it, therefore appear as empty (mainwhile, if the value is a boolean false
, then you'll see a 0
there is no cast
the
if($result["Users"]["is_login"])
should work.
can you try to use var_dump($result["Users"]["is_login"]);
to make sure the variable has been set properly.
you can check is a variable is set or not by using the isset
(manual) function.
Also you can find here how PHP evaluate the booleans:
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).