Just to amplify: a common need for the === and !== operators is to handle the difference between a boolean false returned from a function when it fails as opposed to a valid result of a zero or an empty string. For example, the function strpos() will return the integer 0 if the string being searched for starts at the first character in the searched string (as numbering begins with zero), and will return boolean false if it cannot find a match. Therefore, those two return values (zero or false) have different meanings, but you can only tell the difference in your code if you use the === or !== operators:
if(strpos("test string", "test"))
{
echo "found it #1"; // will not print, as strpos() will evaluate to 0 and be treated as false
}
if(strpos("test string", "test") != FALSE)
{
echo "found it #2"; // will not print, as strpos() will evaluate to 0 and be treated as false
}
if(strpos("test string", "test") !== FALSE)
{
echo "found it #3"; // this WILL print, because zero is not identical to false
}