{% $_a = 3 %}
{% $_a += 5 %}
{% $_b = "Hallo " %}
{% $_b .= "Du!" %}
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. |
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
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 |
= += -= *= /= .= %= |