Ankündigung

Einklappen
Keine Ankündigung bisher.

Zwei Strings vergleichen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Zwei Strings vergleichen

    Angeblich soll man ja um zwei Stings miteinander zu vergleichen die Funktion strcmp benutzen, z.B. so:

    Code:
    if(strcmp ($a,$b)==0) echo 'ist gleich!';
    So weit so gut. Wenn ich jedoch eingebe:
    Code:
    $a = 'otto';
    $b = "otto";
    
    if($a==$b) echo "gleich!";
    else echo "ungleich!";
    Dann funktioniert das ebenfalls. Oder doch nicht immer? Bin irritiert.
    Kann ich denn nun bedenkenlos diese '==' benutzen zum Stings zu vergleichen oder sollte ich lieber die Finger davon lassen? Was kann es da für Probleme geben?
    Ich benutze PHP5.
    Danke.

  • #2
    ICh glaube die Funktion strcmp ist eher dazu da auch Teilstrings in einem anderen zu suchen.

    Das heißt wenn du sehen willst ob

    "Milch"
    auch in
    "Milchkäse"

    vorhanden ist dann solltest du strcmp verwenden.

    Ansonsten kannst du auch mit "==" vergleichen was in if Anweisungen sicher schneller geht.
    Also wenn es genau das gleiche sein soll ist "==".
    Der G-Translator

    Kommentar


    • #3
      Also ich habe bis jetzt immer nur if($a==$b) genommen da es kürzer ist, und es hat bis jetzt auch immer gut funktioniert...

      und aus C weiß ich dass zumindestens bei C strcmp wie bereits gesagt zum vergleichen von teilstrings ist...

      Kommentar


      • #4
        Simon9990: zum Vergleichen von Teilstringt gibt es ja die Funktion strncmp (nicht strcmp).
        Bleibt also die Frage was der Sinn von strcmp ist, wenn es auch mit '==' gehen sollte...?

        Kommentar


        • #5
          Bei strcmp() bekommst du als Rückgabewert bei unterschiedlichen Zeichenketten positive bzw. negative Werte (je nachdem welche Zeichenkette kleiner ist). strcmp() würde sich also dann anbieten, wenn man eben genau das wissen möchte. Allerdings fällt mir dabei kein Beispiel ein, für das man diesen Rückgabewert bräuchte.

          Kommentar


          • #6
            Zitat von xabbuh
            Allerdings fällt mir dabei kein Beispiel ein, für das man diesen Rückgabewert bräuchte.
            Damit ließe sich z.B. ein Sortieralgorithmus erstellen. Man weiß ja nie...

            Kommentar

            Lädt...
            X