{while}
Smarty 中的{while}循环具有与 PHP 的while语句相同的灵活性,并为模板引擎增加了一些功能。每个{while}必须与匹配的{/while}配对。所有的 PHP 条件语句和函数都会被识别,比如 ||、or、&&、and、is_array()等。
以下是一些被识别的修饰符列表,它们必须通过空格与周围元素分开。请注意,列在[方括号]中的项目是可选的。在适用的地方显示了 PHP 的等价物。
修饰符
| 修饰符 | 替代词 | 语法示例 | 含义 | PHP 等价物 |
|---|---|---|---|---|
| == | eq | $a eq $b | 等于 | == |
| != | ne, neq | $a neq $b | 不等于 | != |
| > | gt | $a gt $b | 大于 | > |
| < | lt | $a lt $b | 小于 | < |
| >= | gte, ge | $a ge $b | 大于或等于 | >= |
| <= | lte, le | $a le $b | 小于或等于 | <= |
| === | $a === 0 | 检查是否相同 | === | |
| ! | not | not $a | 否定(一元) | ! |
| % | mod | $a mod $b | 求模 | % |
| is [not] div by | $a is not div by 4 | 可以被...整除 | $a % $b == 0 | |
| is [not] even | $a is not even | [不是]偶数(一元) | $a % 2 == 0 | |
| is [not] even by | $a is not even by $b | 分组级别[不是]偶数 | ($a / $b) % 2 == 0 | |
| is [not] odd | $a is not odd | [不是]奇数(一元) | $a % 2 != 0 | |
| is [not] odd by | $a is not odd by $b | [不是]奇数分组 | ($a / $b) % 2 != 0 |
示例
{while $foo > 0}
{$foo--}
{/while}
上述示例将对$foo 的值进行倒数,直到到达 1。