Stringvergleich mit == oder strcmp?
mabuhay
- php
0 Samuel Vogel0 Andavos0 Edit
Andavos0 mabuhay
0 Rafael0 Andavos
Hi,
Meine Frage bezieht sich auf das Vergleichen zweier Strings. Kann mir jemand sagen was genau der Unterschied zwischen == und strcmp ist, wenn ich nur vergleichen will ob sie gleich oder ungeich sind? Kann es irgendwie zu komplikationen kommen wenn ich == verwende?
mfg
mabuhay
Hallo,
Wenn du nur auf Gleichheit prüfen willst, dann nimm '=='. strcmp() ist für die Sortierung von Strings.
Hallo
Kann es irgendwie zu komplikationen kommen wenn ich == verwende?
Ein '==' kann dir auch true zurückliefern, wenn die _Strings_ ungleich sind.
Bsp:
if("1" == 1)
echo "String ist gleich integer?<br>";
if("Hallo Welt" == 0)
echo "Warum ist Hallo Welt das gleiche wie 0<br>";
if(strcmp("Hallo Welt",0) == 0)
echo "mit strcmp gehts auch nicht";
else
echo "mit strcmp gehts";
Das oben gezeigte hängt mit dem automatischen casting von PHP zusammen.
Tach,
Ein '==' kann dir auch true zurückliefern, wenn die _Strings_ ungleich sind.
äh ich mein natürlich wenn die Daten/Werte ungleich sind, nicht Strings.
MFG
Hi,
Ok, vielen dank, habs begriffen :)
mfg
mabuhay
Gewusst wie:
Bsp:
if("1" === 1)
echo "String ist gleich integer?<br>";
echo 'Nicht zwingend.';if("Hallo Welt" === 0)
echo "Warum ist Hallo Welt das gleiche wie 0<br>";
echo 'Auch das trifft nicht zu.';if(strcmp("Hallo Welt",0) === 0)
echo "mit strcmp gehts auch nicht";
else
echo "oder doch?";Das oben gezeigte hängt mit dem automatischen casting von PHP zusammen.
Und mit dem richtigen Operator.
Hallo,
Und mit dem richtigen Operator.
ist mir schon bewusst, aber er fragte ja nach den Stolperfallen von ==
MFG