Skip to content

{while}

Smarty 中的{while}循环具有与 PHP 的while语句相同的灵活性,并为模板引擎增加了一些功能。每个{while}必须与匹配的{/while}配对。所有的 PHP 条件语句和函数都会被识别,比如 ||or&&andis_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。

另请参见{foreach}{for}{section}