php - chart - wordpress custom<title> tag

String compare on a bool (2)

I'm pretty sure this is a simple fundamental flaw in my newb PHP knowledge, but I was surprised when the following happened:

$result is TRUE... so why is it considered equal to the string "email"? I'm guessing this is because, technically, it's a bool and it isn't false? So when it's compared against a string (e.g. "email") it returns true.

Should I change my method to return as the result as a string containing "true" (instead of return true; on success), or is there another way I should be doing this?


if($result === "email") will do the trick but personally I would never go this way.

It returns true because php will try to convert something to be able to compare them. In this case it probably tries to convert the string on the right side to a bool which will be true in this case. And true == true is ofcourse true.

By doing $result === "email" (triple =) you tell PHP that it shoudn't do conversions and should return false if the types don't match.