Yup, it’s a bit strange, I know…but I’ll show you what is this about.
When programming in PHP, you must take care about it, because PHP interprets TRUE as equivalent to 1, and false equivalent to 0.
In other words, you may do this test:
if(1)
or
if(0) // what is equivalent to !1

but, sometimes we want to verify something that may be the number 1, or the number 0, and not a boolean.
For example:
$a= 0;
if($a)
echo ‘a’;
else
echo ‘b’;

In this case, $a does exist, but PHP will see its value as false, and you ELSE statement will be executed.
To avoid it, in THIS example, we could use if(isset($a)). This will also avoid a NOTICE message.

BUT, if you still need to verify something like this, you must learn other comparator, the ===, and learn its difference from ==
Basically, == verifies the equivalence of two different items, while === verifies the equality between them.
For example:
if(1 == ‘1′) // returns TRUE
if(1 === ‘1′) // returns FALSE

That’s because 1 is equivalent to the string 1, when casted (understand that internally, PHP will apply casts to execute this instructions), but it is not EQUAL to it.
Sometimes you have a function that returns a number, or, in case of error, false… then, it’s interesting to use === to verify it’s return, like this:
if(myFunc() !== false)