Skip to main content

Operatoren

Arithmetische Operatoren

Erinnerst du dich noch an die Grundrechenarten aus der Schule? Mit arithmetischen Operatoren lassen sich diese Grundrechenarten und weitere Rechenarten ausführen.

Beispiel Name Ergebnis

$_a+$_b

Addition

Summe von$_aund$_b

$_a-$_b

Subtraktion

Differenz von$_aund$_b

$_a*$_b

Multiplikation

Produkt von$_aund$_b

$_a/$_b

Division

Quotient von$_aund$_b

$_a%$_b

Modulus

Rest von$_ageteilt durch$_b

$_a*$_b

Potenz

$_aist die Basis und$_bder Exponent.
Das Ergebnis ist somit die Potenz von$_a.

Zuweisungsoperatoren

Der einfachste Zuweisungsoperator ist "=". Wahrscheinlich kommt man als Erstes auf die Idee, diesen Operator mit "ist gleich" zu bezeichnen. Das ist falsch. In Wirklichkeit bedeutet er, dass dem linken Operanden der Wert des Ausdrucks auf der rechten Seite zugewiesen wird. Korrekt gesprochen lautet der Ausdruck "wird gesetzt auf den Wert von".

Einzeiliger Code-Block

{% $_a = 3 %}
{% $_a += 5 %}

{% $_b = "Hallo " %}
{% $_b .= "Du!" %}

Mehrzeiliger Code-Block

{%
	$_a = 3;
	$_a += 5;

	# setzt $_a auf den Wert 8, als ob wir geschrieben hätten: $_a = $_a + 5


	$_b = "Hallo ";
	$_b .= "Du!";

	# setzt $b auf den Wert "Hallo Du!"
%}
Beispiel Name Ergebnis

$_a=$_b

Zuweisung

$_aenthält Wert von$_b

$_a.=$_b

Vereinigung

Eine Zeichenkette (String) wird um die Zeichenkette in$_berweitert.

$_a+=$_b

Addition

Entspricht$_a=$_a+$_b

$_a-=$_b

Subtraktion

Entspricht$_a=$_a-$_b

$_a*=$_b

Multiplikation

Entspricht$_a=$_a*$_b

$_a/=$_b

Division

Entspricht$_a=$_a/$_b

$_a%=$_b

Modulus

Entspricht$_a=$_a%$_b

Vergleichs-Operatoren

Beispiel Name Ergebnis

$_a==$_b

gleich

Gibt TRUE zurück, wenn$_agleich$_bist.

$_a===$_b

identisch

Gibt TRUE zurück, wenn$_agleich$_bist und beide vom gleichen Typ sind.

$_a!=$_b

ungleich

Gibt TRUE zurück, wenn$_anicht gleich$_bist.

$_a!==$_b

nicht identisch

Gibt TRUE zurück, wenn$_anicht gleich$_bist, oder wenn beide nicht vom gleichen Typ sind.

$_a<$_b

kleiner als

Gibt TRUE zurück, wenn$_akleiner als$_bist.

$_a>$_b

größer als

Gibt TRUE zurück, wenn$_agrößer als$_bist.

$_a<=$_b

kleiner gleich

Gibt TRUE zurück, wenn$_akleiner oder gleich$_bist.

$_a>=$_b

größer gleich

Gibt TRUE zurück, wenn$_agrößer oder gleich$_bist.

Logische Operatoren

Beispiel Name Ergebnis

$_a&&$_b

und

TRUE wenn sowohl$_aals auch$_bTRUE ist.

$_a

$_b

oder

TRUE wenn mindestens einer der Werte von$_aund$_bTRUE ist.

!$_a

Sofern in einer Bedingung mehrere Logische Operatoren verwendet wurden, werden zuerst die &&-Operatoren und daraufhin die ||-Operatoren berücksichtigt. Du kannst die Rangfolge durch Klammern verändern:

{%
	if( ($_a==$_b || $_a==$_c) && $_c != $_d )
	{

	}
%}

Vereinigungsoperatoren

Mit dem Vereinigungsoperator "." werden beliebig viele Strings, Zahlenwerte, Variablen und Rückgabewerte von Funktionen zu einem einzigen String verkettet.

Beispiel Name Ergebnis

$_a.$_b.$_c

Vereinigung

Die Zeichenketten (String)$_a,$_bund$_cwerden miteinander verkettet.

{%
	$_text1 = ["Hallo ", "Du", "!"];

	print ( $_text1[0] . $_text1[1] . $_text1[2] );
	# Ausgabe: Hallo Du!
%}

{%
	$_name = "Du";
	$_text2 = "Hallo " . $_name . ".";

	print ( $_text2 );
	# Ausgabe: Hallo Du.
%}

{%
	$_text4 = "Hallo, " . $CustomerName;

	print ( $_text4 );
	# Ausgabe: Hallo, Markus Müller
	# $CustomerName enthält den Kundennamen, sobald der Kunde eingeloggt ist.
%}

Operator-Rangfolge

Die Operator-Rangfolge legt fest, wie "eng" ein Operator zwei Ausdrücke miteinander verbindet. Zum Beispiel ist das Ergebnis des Ausdruckes 1 + 5 * 3 gleich 16 und nicht 18, da der Multiplikations-Operator (*) in der Rangfolge höher steht als der Additions-Operator (+). Wenn nötig, kansnt du Klammern setzen, um die Rangfolge der Operatoren zu beeinflussen. Zum Beispiel ergibt (1 + 5) * 3 gleich 18. Ist die Rangfolge der Operatoren gleich, so wird links nach rechts Assoziativität benutzt.

Die folgende Tabelle zeigt die Rangfolge der Operatoren. Oben steht der Operator mit dem höchsten Rang.

Assoziativität Operator

rechts

!

links

* / %

links

+ - .

keine Richtung

< <= > >=

keine Richtung

== != === !==

links

&&

links

||

rechts

= += -= *= /= .= %=

Zum Seitenanfang