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.

Consider this: $s1 =

Consider this:

$s1 = "000002";
$s2 = "002";
if ($s1 == $s2) print "'$s1' and '$s2' strings are equal!\n";

in_array() also suffers from this "feature";

:((((((((((((((((((((((((((((((

Well use === when the type of

Well use === when the type of the variables to compare is relevant ... and for in_array use the 3rd and last argument "strict" which allows to take care of the types of the value you are searching.

I don't think we can call this a real WTF, as the way PHP is permissive with variable types cannot be possible without some elementary rules of types interpretation, in general it allows code to be shorter, but it's sure that with inexperienced coders this can lead to this kind of confusion.

String Comparison

I think it is not good about string comparison... Two numerical strings must not be compared as integers.
I think this bug must be taken care of.
lift trucks baltimore maryland

It is so lucky to read your

It is so lucky to read your blog,it is full of useful message.I wish we both can do better in the future.It great honor if you can visit our website,and give us some suggestion.
642-983 dumps
000-104 dumps
220-603 dumps
642-874 dumps
642-627 dumps
312-50v7 dumps
RH033 dumps
156-315 dumps

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