cmp (Vergleich)

Die Funktion $cmp vergleicht zwei Werte miteinander und gibt als Ergebnis einen Wahrheitswert zurück. Ein Vergleichsoperator gibt dabei an, wie die Werte miteinander verglichen werden.

Syntax

$cmp(left,operator,right[,mode])

Parameter

Name

Beschreibung

left

Der linke Vergleichswert

operator

Definiert den Vergleichsoperator. Folgende Operatoren stehen zur Verfügung:

  • = oder == (gleich)

  • != (ungleich)

  • < (kleiner)

  • <= (kleiner oder gleich)

  • > (größer)

  • >= (größer oder gleich)

  • reg (Regulärer Ausdruck)

right

Der rechte Vergleichswert

mode

Ein optionaler Vergleichsmodus, welcher angibt, ob der Vergleich numerisch oder Text basiert durchgeführt werden soll.

Folgende Modi stehen zur Verfügung:

  • i (Ganzzahl)

  • n (numerisch)

  • s (Text basiert) → Standard, wenn nichts angegeben wird

  • o (Objekt basiert) → z.B. wenn zwei Datumswerte verglichen werden sollen oder ein Aufzählungswert mit einem Textwert

Rückgabewert

Gibt true zurück, wenn die Bedingung für den Vergleich "left operator right" erfüllt ist, ansonsten false.

Beispiel

Syntax

Ergebnis

Bemerkung

$cmp(2,>,11,n)

false

Die Zahl 2 ist nicht größer als die Zahl 11

$cmp(2,>,11,s)

true

Bei einem Text basierten Vergleich ist "2" größer als "11", da der ASCII Zeichencode von '2' größer ist als der von '1'.

$cmp(2,>,11)

true

Selbe Begründung wie oben. s ist der Standardmodus

$cmp(0,==,0)

true


$cmp(Hallo,==,Hallo)

true


$cmp(hallo,==,Hallo)

false

Case sensitiv

$cmp(Hallo,reg,/^hallo$/i)

true

Regulärer vergleich Case insensitiv

$cmp($input,=,ACCEPTED,o)


Gibt true zurück, wenn $input dem Arbeitsstatuswert ACCEPTED entspricht.
Durch den Modus "o" lassen sich beispielsweise Aufzählungswerte mit ihrem Namen vergleichen