Bug #13304 Updated: string comparisons not working as expected
| From: | hholzgra@php.net | Date: | Fri, 14 Sep 2001 17:09:02 +0000 |
| Subject: | Bug #13304 Updated: string comparisons not working as expected | ||
| References: | 1 | Groups: | php.dev |
| Request: | Send a blank email to php-dev+get-65944@lists.php.net to get a copy of this message | ||
ID: 13304
Updated by: hholzgra
Reported By: lee@mediawaveonline.com
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] lee@mediawaveonline.com
<?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
------------------------------------------------------------------------
Edit this bug report at http://bugs.php.net/?id=13304&edit=1