テンプレートエンジンの特徴の一つとして、Smartyにおいての {if} ステートメントは php のそれとほぼ同様の柔軟性を持っています。全てのifと/ifはペアである必要があります。また、elseとelseifも使用できます。|| , or , && , and といった全ての 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 |