I'm thinking there must be a bug in the heart of php causing this. I'll debug it, but I haven't looked at php source code in a few years and would like a tip as to which files are involved in evaluating "==". Here is a fragment from my code and the output:
... print "<pre>\n"; var_dump($max); var_dump($nms); var_dump($nms == $max); $max = (float)$max; $nms = (string)$nms; var_dump($max); var_dump($nms); var_dump($nms == $max); $max = (string)$max; $nms = (float)$nms; var_dump($max); var_dump($nms); var_dump($nms == $max); print "</pre>\n"; ... string(3) "1.8" float(1.8) bool(false) float(1.8) string(3) "1.8" bool(true) string(3) "1.8" float(1.8) bool(true) I found this using php 5.2.3. I just upgraded to php 5.2.5 and am receiving the exact same result. Obviously, I can't reproduce it with a simple var_dump("1.8"==1.8). :( I guess something is getting corrupted, and I will add debug output until I find out what (or Murphy removes the problem by adding debug output; then I'm not sure what I'll do). Thanks for any tips on which files I should look at it. Thanks, Todd -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php