The only reason to check beyond a loose true and false is to determine if the pattern failed (or as of 5.3.6, that the offset is > the length provided). There's no reason why you cannot make use of an elseif should you need to know if the pattern is bad:
PHP Code:
if (($result = preg_match('...', $var, $matches)) === false)
{
// bad pattern
}
else if ($result)
{
// matches
}
else
{
// no matches.
}
Although realistically you should catch a bad failure during development as it will trigger a warning.