Smarty中的{if}语句和PHP中的if语句具有相同的灵活性,且为模板引擎增加了一些功能。每个{if}必须以配对的{/if}结束。{else}和{elseif}也是可以的。所有的PHP条件和函数都可以同样识别,如||,or,&&,and,is_array()等等。
如果$security是激活的,那么IF_FUNCS数组存在于$security_settings数组中,并指定可以用在if中的PHP函数。
下面是可用的语义符列表,必须与包围它的元素用空格分割。注意,列在[方括号]中的内容的可选的。同时也列出了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 |