最大的智能数学值

时间:2013-05-13 12:47:47

标签: html math smarty

这是我的代码:

<td class="bezcat bg{math equation="floor(x/8)+1" x=$dag.wp.0}">{$dag.wp.1}<br/><i>({$dag.wp.0})</i></td>

我的代码所做的是根据数字(x)计算一个值并为其创建一个类名(bg1,bg2,bg3,bg4或bg 5)。每个类名都有自己的背景颜色,低x(x<=8)将具有绿色背景颜色,大x(x>=40)将为红色。

我的计算效果很好,除了一点。我只在我的css(bg1到bg5)中命名了5个类名,所以当计算出的值大于5时(假设用x=100)我的类名将是bg12并且在我的css中没有描述。当我的计算值大于5时,执行该操作的最佳方法是什么,我的类名仍然是bg5。有if语句的东西可能吗?

1 个答案:

答案 0 :(得分:1)

事先:这是未经测试的。

Smarty支持PHP min功能。所以你可以用这个:

{math equation="min(5, floor(x/8)+1)" x=$dag.wp.0}

作为Smarty文档{math}的注释:

  由于使用了php eval()函数,

{math}在性能上是一个昂贵的函数。在PHP中进行数学运算要高效得多,所以只要有可能就在脚本中进行数学计算,并将结果赋值给模板。