> Well, it was only a guess, but if you look at the integer limit on 32-bit
> systems, you'll see that the upper limit > for numbers is 2147483647 (or
> 2^31-1) which would explain maybe your upper limit problem.
>
> Also, I think you're getting confused over the zero with exactly what you are
> asking PHP to do. filter_var() returns > true if the filter matches. If the 0
> match is returned as a false, then filter_var() will return false. You're
> then > inverting that with a !, all of which is inside an if() statement.
> Essentially this would mean that if the filter > returns false then the
> instructions inside of the if statement are carried out.
I always thought that that was a limit of the number of digits an integer value
could have, and not the actually int value... I guess I was wrong. :s
You are right, I've tested with:
2147483647
it worked.
I've tested with:
2147483648
It displays the error.
"you're getting confused over the zero with exactly what you are asking PHP to
do"
Absolutely... :(
If I put 0 filter_var() will return false.
If I put 0342352 filter_var() will also return false.
Could we say that: if it is indeed the fact, that filter_var() returns false
when it finds a 0 at the beginning of a given number...
"then the instructions inside of the if statement are carried out."
And here may be the reason for displaying the error message when we have the 0
leading a number.
And my point was exactly here
"If the 0 match is returned as a false"
Why should filter_var() do something like this? Should the filter_var()
interpretate 0 as a number without boolean semantic value?
Please be patient...
Regards,
Márcio
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php