your right === does work, I still feel that the internal auto-conversion should recognize that the string is to long to be an int and treat both as a sting. how would you force an if statement to use typecasting ? ie. if ( '12.00' == '12' ) will equal as true, but maybe I want it to be compared as a string, therfore false. if ( (string)'12.00' == (string)'12' ) doesnt work as I have found and you confirmed. ? you have to use strcmp() ? it would be real nice to see that built in vs a function. Chris Lee [EMAIL PROTECTED] ----- Original Message ----- From: "Bug Database" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Friday, September 14, 2001 10:09 AM Subject: Bug #13304 Updated: string comparisons not working as expected > ID: 13304 > Updated by: hholzgra > Reported By: [EMAIL PROTECTED] > Old Status: Open > Status: Closed > Bug Type: *General Issues > Operating System: linux > PHP Version: 4.0.6 > New Comment: > > (string) casting won't help as it takes place *before* autoconversion > > just use strcmp() or the tripple === operator > > Previous Comments: > ------------------------------------------------------------------------ > > [2001-09-14 12:50:18] [EMAIL PROTECTED] > > <?php > function check($var_1, $var_2) > { > if ( $var_1 == $var_2 ) > echo "a true <br>\n"; > else > echo "a false <br>\n"; > if ( (string)$var_1 == (string)$var_2 ) > echo "b true <br>\n"; > else > echo "b false <br>\n"; > if ( strcmp($var_1, $var_2) == 0 ) > echo "c true <br>\n"; > else > echo "c false <br>\n"; > } > > check('997310325024327300', '997310325024327300'); > check('997310325024327300', '997310325024327301'); > ?> > > php-4.0.6 > > 09:51 -root- /home/httpd/vhosts/blazers > php -q test.php > a true <br> > b true <br> > c true <br> > a true <br> > b true <br> > c false <br> > 09:51 -root- /home/httpd/vhosts/blazers > > ok I can understand the first if() failing, php is conffused and things I want to compare int not strings, this is a peave because php only supports upto signed long int, which this is much larger, I think php should realize this and compare them as strings. > > the second fails too .. ? this is strange because I have spec. type casted that as strings, they should compare fine as strings. this is where I beleive there is more then a quirk and more of a bug. > > the third susceeds just as it should, its just not near as elegant as a simple if ($var_1 == $var_2). > > -- > > Chris Lee > [EMAIL PROTECTED] > > > > ------------------------------------------------------------------------ > > > > ATTENTION! Do NOT reply to this email! > To reply, use the web interface found at http://bugs.php.net/?id=13304&edit=2 > -- PHP Development Mailing List <http://www.php.net/> To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]