How does php cast boolean variables?

后端 未结 3 1556
伪装坚强ぢ
伪装坚强ぢ 2021-01-15 04:31

How does php cast boolean variables?

I was trying to save a boolean value to an array:

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

but

相关标签:
3条回答
  • 2021-01-15 04:45

    No casting happens in your example.
    Your problem is likely somewhere else.

    Would you mind to share a more complete piece of code?

    0 讨论(0)
  • 2021-01-15 04:45

    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

    0 讨论(0)
  • 2021-01-15 04:47

    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).
    
    0 讨论(0)
提交回复
热议问题