Why does this code always go to the TRUE branch regardless of the value I put in for $body?

PHP Code:

    if (
preg_match('~([0-9-]+)~'$body) !== false){
'Image Found';

'Image Not Found';


According to the PHP Manual...

preg_match() returns 1 if the pattern matches given subject, 0 if it does not, or FALSE if an error occurred.

This function may return Boolean FALSE, but may also return a non-Boolean value which evaluates to FALSE. Please read the section on Booleans for more information. Use the === operator for testing the return value of this function.

So 'xxx' should return '0' and since I am using '!==' shouldn't things resolve to the ELSE branch??