Warum wandelt PHP zwei numerische Zeichenfolgen in Zahlen um, bevor sie [lose] verglichen werden?

Ich habe einige ähnliche Fragen durchgesehen, aber alle geben nur die Tatsache an:

Wenn der Vergleich numerische Zeichenfolgen enthält, wird jede Zeichenfolge in eine Zahl konvertiert und der Vergleich numerisch ausgeführt.

Okay alles klar. Es erklärtWas ist los wenn'00001' == '1' kehrt zurückTRUE.

Die Frage ist:Warum PHP macht das?
Was ist der Grund dafür, dass Zeichenfolgen auf numerische Werte geprüft und dann gewirkt werden, wenn dies der Fall ist? Warum können wir nicht einfach zwei Saiten miteinander vergleichen?

Ich kann ziemlich gut verstehen, welches Casting erforderlich ist, wenn zwei Operanden unterschiedliche Typen haben. Aber warum tut es das? "übliche Mathematik"wenn beide saiten sind?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage