Edit report at http://bugs.php.net/bug.php?id=53204&edit=1
ID: 53204 Comment by: phristen at yahoo dot com Reported by: diemuzi at gmail dot com Summary: IF Statement Long String Status: Open Type: Bug Package: Unknown/Other Function Operating System: Archlinux PHP Version: 5.3.3 Block user comment: N New Comment: PHP integers are 32 bit. The actual value of $o is not what you think it is... Do this: var_dump($o); Previous Comments: ------------------------------------------------------------------------ [2010-10-29 22:50:14] diemuzi at gmail dot com Description: ------------ I was testing long strings of numbers against an IF statement (see test) script and it was outputting information which was not true. Test script: --------------- This works: $o = 33; if ($o >= 29 && $o <= 32) { echo "true"; } else { echo "false"; } This does not work: $o = 336571324099282374385465584513479344133; if ($o >= 336571324099282374385465584513479344129 && $o <= 336571324099282374385465584513479344132) { echo "true"; } else { echo "false"; } Expected result: ---------------- In the working example, the output should be false. This is working as expected. In the non-working example, the output should be false. However, it is returning true. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/bug.php?id=53204&edit=1