String comparison

This WTF is documented but a WTF none the less:

If you compare two numerical strings, they are compared as integers.

. You need to add the definition of numerical strings to get the WTF:

Numeric strings consist of optional sign, any number of digits, optional decimal part and optional exponential part. Thus +0123.45e6 is a valid numeric value. Hexadecimal notation (0xFF) is allowed too but only without sign, decimal and exponential part.

. So for example "15" == "0xF".

Comments

Personally I haven't

Personally I haven't introduced any bugs because of this in my applications but I believe someone somewhere must have experienced some serious WTFs because of this feature.

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <blockquote>
  • Lines and paragraphs break automatically.
  • You may post code using <code>...</code> (generic) or <?php ... ?> (highlighted PHP) tags.

More information about formatting options