Sven Rautenberg: Weiterleitung entsprechend der Herkunft

Beitrag lesen

Moin!

ich hab mal eine kurze Frage zu dem strcasecmp - Ich hab gerade in das Manual geschaut und mir dort die Befehle strcasecmp und strcmp durchgelesen.

Schön. Dann wird dir aufgefallen sein, was dort jeweils geschrieben steht als mögliches Funktionsergebnis.

Ich habe unter JAVA mal den unterschied zwischen (str1 == str2) und str1.equals(str2) gelernt, das war was mit Objektidentität und Inhaltsgleichheit, aber ist das in PHP auch nötig?

Hängt vom Anwendungsfall ab.

Ich habe bisher immer str1 == "irgendwas" benutzt und noch keine Probleme gehabt...

Ein Vergleich mit == oder != gibt als Ergebnis wahr oder falsch heraus. Eine Anwendung der Funktion strcmp() gibt als Ergebnis kleiner (-1), gleich (0) oder größer (1) aus.

Ein Vergleich mit der Funktion strcasecmp() ignoriert Groß/Kleinschreibung.

Du kannst also nicht wirklich behaupten, dass alles dasselbe ist - und was davon jeweils angewandt wird, hängt vom Anwendungsfall ab.

Bedenke:

if ($string1==$string2)

ist bei weitem nicht dasselbe wie

if (strcmp($string1,$string2))

Genau genommen ist es das genaue Gegenteil - jedenfalls vom Ergebnis her. Weil strcmp() bei Gleichheit 0 zurückgibt, was vom IF als false interpretiert wird - also als "ungleich" betrachtet wird.

- Sven Rautenberg

--
Die SelfHTML-Developer sagen Dankeschön für aktuell 20885,68 Euro Spendengelder!