Vergleichsoperatoren

Vergleichsoperatoren wurden schon bei den Bedingungen für die Verzweigungen beziehungsweise Schleifen genutzt. Sie vergleichen zwei Werte miteinander und geben einen Wahrheitswert true oder false zurück.

Es existieren folgende Vergleichsoperatoren:

  • ==: für Gleichheit
  • !=: für Ungleichheit,
  • ===: für Gleichheit und gleicher Typ,
  • !==: für Ungleichheit oder nicht gleicher Typ,
  • <: für ,,Kleiner als'',
  • >: für ,,Größer als'',
  • <=: für ,,Kleiner gleich'' und
  • >=: für ,,Größer gleich''.

Diese Operatoren werden beispielsweise in If-Bedingungsabfragen \index{If-Verzweigung} benutzt:

Wichtig ist, dass diese Operatoren nicht für Strings benutzt werden dürfen. Hierfür stellt PHP Funktionen zur Verfügung, die Strings miteinander vergleichen können:

Mit der Funktion strcmp($string1,$string2) lassen sich zwei Strings vergleichen. Hierbei wird auf Groß- und Kleinschreibung während des Vergleiches geachtet. Soll die Groß- und Kleinschreibung ignoriert werden, so ist strcasecmp($string1,$string2) zu nutzen. Bei Gleichheit geben diese Funktionen 0 zurück. Wird der erste String in der Sortierung früher als der zweite eingeordnet, wird ein Wert < 0 zurückgegeben. In dem Fall, dass der erste String jedoch später eingeordnet wird, wird ein Wert > 0 zurückgegeben.

Um nun das Ergebnis des Vergleiches zu prüfen, muss mit dem Gleichheitsoperator auf 0 geprüft werden:

Nur die erste If-Verzweigungen erzeugt die Ausgabe über Ungleichheit.

1 Antwort

  1. Joachim sagt:

    Wäre es nicht anschaulicher, bei dem unteren Beispiel nachstehende Variante zu verwenden?
    if (strcasecmp($string1,$string2) == 0) {
    echo („Beide Strings sind ohne Berücksichtigung der Groß/Kleinschreibung gleich.“);
    }
    Damit bei der Ausgabe nicht alles inkl. des neuen Prompts in einer Zeile erscheint, wäre doch jeweils ein \n ganz gut?

Schreibe einen Kommentar zu Joachim Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert