note 59875 added to language.types.string
| From: | php-general at lists dot php dot net | Date: | Mon, 19 Dec 2005 02:10:59 +0000 |
| Subject: | note 59875 added to language.types.string | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-100392@lists.php.net to get a copy of this message | ||
RE www.feisar.de
<?php
$x1 = '111111111111111111';
$x2 = '111111111111111112';
echo ($x1 == $x2) ? "true\n" : "false\n";
?> // prints true;
You are right about need to use === to force a string to string comparison.
However as the number exceed the 32 bit range PHP is comparing the floating point not the integer
values.
Both have a float values of 1.11111111111E+017
----
Manual Page -- http://www.php.net/manual/en/language.types.string.php
Edit -- http://master.php.net/manage/user-notes.php?action=edit+59875
Delete: added to the manual -- http://master.php.net/manage/user-notes.php?action=delete+59875&report=yes&reason=added+to+the+manual
Delete: bad code -- http://master.php.net/manage/user-notes.php?action=delete+59875&report=yes&reason=bad+code
Delete: spam -- http://master.php.net/manage/user-notes.php?action=delete+59875&report=yes&reason=spam
Delete: useless -- http://master.php.net/manage/user-notes.php?action=delete+59875&report=yes&reason=useless
Delete: non-english -- http://master.php.net/manage/user-notes.php?action=delete+59875&report=yes&reason=non-english
Delete: already in docs -- http://master.php.net/manage/user-notes.php?action=delete+59875&report=yes&reason=already+in+docs
Delete: other reasons -- http://master.php.net/manage/user-notes.php?action=delete+59875&report=yes
Reject -- http://master.php.net/manage/user-notes.php?action=reject+59875&report=yes
Search -- http://master.php.net/manage/user-notes.php