Get Smarty

Donate

Paypal

Smarty Icon

You may use the Smarty logo according to the trademark notice.

Smarty Template Engine Smarty Template Engine

For sponsorship, advertising, news or other inquiries, contact us at:

Sites Using Smarty

Advertisement

math (Mathematik)

Attribut Name Typ Erforderlich Standardwert Beschreibung
equation string Ja n/a Der auszuführende Vergleich.
format string Nein n/a Format der Ausgabe. (sprintf)
var numeric Ja n/a Wert der Vergleichsvariable.
assign string Nein n/a Template-Variable welcher die Ausgabe zugewiesen werden soll.
[var ...] numeric Yes n/a Zusätzliche Werte.

'math' ermöglicht es dem Designer, mathematische Gleichungen durchzuführen. Alle numerischen Template-Variablen können dazu verwendet werden und die Ausgabe wird an die Stelle des Tags geschrieben. Die Variablen werden der Funktion als Parameter übergeben, dabei kann es sich um statische oder um Template-Variablen handeln. Erlaubte Operatoren umfassen: +, -, /, *, abs, ceil, cos, exp, floor, log, log10, max, min, pi, pow, rand, round, sin, sqrt, srans und tan. Konsultieren Sie die PHP-Dokumentation für zusätzliche Informationen zu dieser Funktion.

Falls Sie die spezielle 'assign' Variable übergeben, wird die Ausgabe der 'math'-Funktion der Template-Variablen mit dem selben Namen zugewiesen anstatt ausgegeben zu werden.

Technische Bemerkung

Die 'math'-Funktion ist wegen ihres Gebrauchs der 'eval()'-Funktion äusserst Ressourcen intensiv. Mathematik direkt im PHP-Skript zu verwenden ist wesentlich performanter. Sie sollten daher - wann immer möglich - auf die Verwendung verzichten. Stellen Sie jedoch auf jeden Fall sicher, dass Sie keine 'math'-Tags in 'sections' oder anderen 'loop'-Konstrukten verwenden.

Example 8.19. math (Mathematik)

{* $height=4, $width=5 *}

{math equation="x + y" x=$height y=$width}

AUSGABE:

9


{* $row_height = 10, $row_width = 20, #col_div# = 2, aus Template zugewiesen *}

{math equation="height * width / division"
      height=$row_height
      width=$row_width
      division=#col_div#}

AUSGABE:

100



{* Sie können auch Klammern verwenden *}

{math equation="(( x + y ) / z )" x=2 y=10 z=2}

AUSGABE:

6



{* Sie können als Ausgabeformat alle von sprintf unterstötzen Definitionen verwenden *}

{math equation="x + y" x=4.4444 y=5.0000 format="%.2f"}

AUSGABE:

9.44

Comments
No comments for this page.

Advertisement