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

Reply via email to