|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2001-09-14 13:09 UTC] hholzgra@php.net
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Thu Oct 30 14:00:01 2025 UTC |
<?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 lee@mediawaveonline.com