Comparing String to Integer gives strange results

From the PHP manual:

String conversion to numbers

When a string is evaluated in a
numeric context, the resulting value
and type are determined as follows.

The string will be evaluated as a
float if it contains any of the
characters ‘.’, ‘e’, or ‘E’.
Otherwise, it will be evaluated as an
integer.

The value is given by the initial
portion of the string. If the string
starts with valid numeric data, this
will be the value used. Otherwise, the
value will be 0 (zero). Valid numeric
data is an optional sign, followed by
one or more digits (optionally
containing a decimal point), followed
by an optional exponent. The exponent
is an ‘e’ or ‘E’ followed by one or
more digits.

Leave a Comment