Because === and !== check the type as well. Of you set $string = 'blah' you'll still get the same result.
If you were using != and == both would print.
strpos() returns an int, so comparing it to false with === is always false. The same would be true for true.
That's half right. strpos actually *can* return false as opposed to 0, so checking doing the === check might be necessary for your application.
<?php
$string = 'blah'; if (strpos($string, 'not in the original $string') === false){ echo 'False check succeeded - not in $string.'; }
if (strpos($string, $string) === true) { echo 'True check succeeded - in string'; } else { echo 'True check failed - because strpos was at offset 0.'; }
?>
-- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php