PHP contra Perl



  • supertux schrieb:

    du sagst, dass 0 == "abc" eigentlich nicht gehen müsste und "logische" Sprachen wie C++ sowas nicht machen würde.

    Das sage ich nicht. Bitte sieh in Zukunft davon ab, mir was in den Mund zu legen.



  • Auch wenn ich dafür jetzt von mindestens fünf Seiten bombardiert werdet:

    Findet ihr nicht, dass sich eure Diskussion auf einem sehr ähmmm... abstrakten Niveau bewegt?

    php.net schrieb:

    If you compare an integer with a string, the string is converted to a number. If you compare two numerical strings, they are compared as integers.

    Damit ist (wie auch schon eine ganze Reihe Posts zuvor) eigentlich alles gesagt. Und "==" bleibt in diesem Fall auch eine Äquivalenzrelation. Denn es wird nicht "abc" bzw. "xyz" mit 0, sondern jeweils 0 mit 0 verglichen. Und aus 0 == 0 und 0 == 0 lässt sich verständlicherweise nicht "abc" == "xyz" folgern. Damit ist dies auch kein Gegenbeispiel für eine Transitivität mehr.

    PHP hat auch nie den Anspruch erhoben, dass "==" der mathematischen Äquivalenz entspricht. Es ist schlichtweg eine Abbildung aus der Menge aller Paare aller mgl. Variablenwerte in die Menge der Wahrheitswerte.



  • Dasd schrieb:

    PHP hat auch nie den Anspruch erhoben, dass "==" der mathematischen Äquivalenz entspricht. Es ist schlichtweg eine Abbildung aus der Menge aller Paare aller mgl. Variablenwerte in die Menge der Wahrheitswerte.

    so sehe ich das auch. 🙂



  • Es steht ja auch nirgendwo, das "xyz" mit 0 verglichen werden kann...

    Oder ich habe echt falsches php gelernt 😉

    Und ich hab auch gelernt, das man mit == nicht 2 gleiche Typen vergleicht, sondern im Zweifelsfall(wenn also keine gleichen Typen bestehen) einen Teil(hier: Der string) nach PHP Konventionen Umgewandelt um verlgeichen zu können.

    Willst du dein Beispiel Durchsetzen müsste es (glaub ich ;)) so sein:

    "abc" !== 0
    "xyz" !== 0
    "abc" !== "xyz"

    Und ja: Das ganze wurde so schonmal gesagt, ich will nur meinen senf dazu geben, auch auf die gefahr mich unbeliebt zu machen.



  • Mein Gott, PHP ist eben anders als andere Sprachen und wer damit programmiert, soll damit leben oder sich eine andere Sprache aussuchen. Damit es geklärt ist, man lese das hier und das hier und vielleicht das hier bzgl Typen


Anmelden zum Antworten