The "triple equal" or "really really equal" or whatever we call it is the stupidest thing a language can have. If your language needs something like that, it already failed* somewhere along the way.
* Which doesn't imply it's not useful.
* Which doesn't imply it's not useful.
Other language design options are to use pointers / references, be strongly typed or be functional. Seems like you're saying all weakly-typed object-oriented languages are failures?
And I don't speak PHP.
Anyway yeah being able to compare identity and equivalence separately seems important.
You can argue that triple equals is a confusing syntax, but the underlying problem is inherent in the world we live in.
To me this is the problem with triple equals. The different types of equality should be explicit in their use rather than overloading a sigil.