why is (intval('444-44444') == '444-44444') EQUAL??!

From: Date: Fri, 22 Jun 2012 02:27:25 +0000
Subject: why is (intval('444-44444') == '444-44444') EQUAL??!
Groups: php.general 
Request: Send a blank email to php-general+get-318284@lists.php.net to get a copy of this message
Huh? Why is this equal??! php > $id = '444-44444'; php > var_dump($id, intval($id)); string(9) "444-44444" int(444) php > if (intval($id) == $id) echo 'equal'; else echo 'not equal'; equal or in other words: php > if (intval('444-44444') == '444-44444') echo 'equal'; else echo 'not equal'; equal I would expect PHP to be evaluating string "444-44444" against integer "444" (or string either way) however, just for giggles, using === works... php > if ($id === intval($id)) echo 'equal'; else echo 'not equal'; not equal

« previous php.general (#318284) next »