math

Имя атрибутаТипОбязателенПо умолчаниюОписание
equationstringДаn/aматематической выражение
formatstringНетn/aформат рузультата (sprintf)
varnumericДаn/aпеременная выражения
assignstringНетn/a переменная шаблона, которой будет присвоен вывод
[var ...]numericДаn/aдополнительные переменные выражения

пользовательская функция math позволяет дизайнерам шаблонов вычислять математические выражения в шаблоне. Любая численная переменная шаблона может быть использована в выражении. Переменные, используемые в выражении, передаются в качестве параметров, которыми могут быть как и переменные шаблона, так и статические значения. Допустимые операторы: +, -, /, *, abs, ceil, cos, exp, floor, log, log10, max, min, pi, pow, rand, round, sin, sqrt, srans и tan. Ознакомтесь с php документацией под данным функциям.

Если указан атрибут "assign", то вывод будет присвоен переменной, вместо отображения.

Техническое Замечание: использование функции math значительно сказывается на времени выполнения программы, так как реализована с помощью php функции eval(). Выполнение математических операций в php программе более эффективно, то есть везде, где возможно, следует делать вычисления в программе и передавать результат в шаблон. Следует также избегать повторяющегося вызова функции math (например, в циклах).

Пример 8-15. math

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

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

OUTPUT:

9


{* $row_height = 10, $row_width = 20, #col_div# = 2, assigned in template *}

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

OUTPUT:

100


{* можно использовать скобки *}

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

OUTPUT:

6


{* можно указать формат результата (sprintf) *}

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

OUTPUT:

9.44

HIVE: All information for read only. Please respect copyright!
Hosted by hive йца: йХЕБЯЙЮЪ ЦНПНДЯЙЮЪ АХАКХНРЕЙЮ