This RFC proposes to change the behavior of non-strict string to string comparison to be binary safe.

In PHP on comparing two strings in non-strict mode both operands will be casted to numbers and if it succeed both numbers will be compared instead of a binary string comparison.

The current behavior is very confusing also in the world of a loosely typed language. Because both operands have the same type and there is no context which could mark them as numeric. Only because the content could represent numeric characters using the ASCII table it's not automatically a number. Btw. in the world of multilingual webpages you will get other errors (e.g. in German the comma and the dot is switched).

The current behavior is very unknown in the wold of PHP developers and newcomers because there is no numeric context. Sure there is a note somewhere in the documentation but it is nothing 99.9% of people would expect.

The current behavior leads to bugs that are very hard to find/catch and it makes code hard to know what's going on.

Using strict string comparison helps to workaround such behavior bit it ends up in using strict comparison all over which makes non-strict comparison useless and some structures like the switch statement can't be used as it internally uses non-strict comparison.