{if},{elseif},{else}
> Smarty的{if}條件判斷和PHP的if 非常相似,只是增加了一些特性。 每個{if}必須有一個配對的{/if}. 也可以使用{else} 和 {elseif}. 全部的PHP條件表達式和函數都可以在if內使用,如||, or, &&, and, is_array(), 等等.
如果開啟了安全機制,那么只有在$php_functions設置允許的PHP函數才能使用。 參見安全機制。
下面是可用的運算符列表,使用中都會放到元素的中間并且用空格分隔。 注意列表中[方括號]的是可選的,而且還會列出對應PHP的表達式。
<table border="1">
<colgroup>
<col align="center">
<col align="center">
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th align="center">運算符</th>
<th align="center">別名</th>
<th>語法示例</th>
<th>含義</th>
<th>對應PHP語法</th>
</tr></thead>
<tbody>
<tr>
<td align="center">==</td>
<td align="center">eq</td>
<td>$a eq $b</td>
<td>等于</td>
<td>==</td>
</tr>
<tr>
<td align="center">!=</td>
<td align="center">ne, neq</td>
<td>$a neq $b</td>
<td>不等于</td>
<td>!=</td>
</tr>
<tr>
<td align="center">></td>
<td align="center">gt</td>
<td>$a gt $b</td>
<td>大于</td>
<td>></td>
</tr>
<tr>
<td align="center"><</td>
<td align="center">lt</td>
<td>$a lt $b</td>
<td>小于</td>
<td><</td>
</tr>
<tr>
<td align="center">>=</td>
<td align="center">gte, ge</td>
<td>$a ge $b</td>
<td>大于等于</td>
<td>>=</td>
</tr>
<tr>
<td align="center"><=</td>
<td align="center">lte, le</td>
<td>$a le $b</td>
<td>小于等于</td>
<td><=</td>
</tr>
<tr>
<td align="center">===</td>
<td align="center"> </td>
<td>$a === 0</td>
<td>絕對等于</td>
<td>===</td>
</tr>
<tr>
<td align="center">!</td>
<td align="center">not</td>
<td>not $a</td>
<td>非 (一元運算)</td>
<td>!</td>
</tr>
<tr>
<td align="center">%</td>
<td align="center">mod</td>
<td>$a mod $b</td>
<td>取模</td>
<td>%</td>
</tr>
<tr>
<td align="center">is [not] div by</td>
<td align="center"> </td>
<td>$a is not div by 4</td>
<td>取模為0</td>
<td>$a % $b == 0</td>
</tr>
<tr>
<td align="center">is [not] even</td>
<td align="center"> </td>
<td>$a is not even</td>
<td>[非] 取模為0 (一元運算)</td>
<td>$a % 2 == 0</td>
</tr>
<tr>
<td align="center">is [not] even by</td>
<td align="center"> </td>
<td>$a is not even by $b</td>
<td>水平分組 [非] 平均</td>
<td>($a / $b) % 2 == 0</td>
</tr>
<tr>
<td align="center">is [not] odd</td>
<td align="center"> </td>
<td>$a is not odd</td>
<td>[非] 奇數 (一元運算)</td>
<td>$a % 2 != 0</td>
</tr>
<tr>
<td align="center">is [not] odd by</td>
<td align="center"> </td>
<td>$a is not odd by $b</td>
<td>[非] 奇數分組</td>
<td>($a / $b) % 2 != 0</td>
</tr>
</tbody>
</table>
{if} 表達式
```
_{if $name eq 'Fred'}_
Welcome Sir.
_{elseif $name eq 'Wilma'}_
Welcome Ma'am.
_{else}_
Welcome, whatever you are.
_{/if}_
```
{使用`or`示例}
```
_{if $name eq 'Fred' or $name eq 'Wilma'}_
...
_{/if}_
```
{與上面一樣的效果}
```
_{if $name == 'Fred' || $name == 'Wilma'}_
...
_{/if}_
```
{也可以使用括號}
```
_{if ( $amount < 0 or $amount > 1000 ) and $volume >= #minVolAmt#}_
...
_{/if}_
```
{還可以嵌入PHP函數調用}
```
_{if count($var) gt 0}_
...
_{/if}_
```
{檢查數組}
```
_{if is_array($foo) }_
.....
_{/if}_
```
{檢查變量是否存在}
```
_{if isset($foo) }_
.....
_{/if}_
```
{測試值是否偶數或奇數}
```
_{if $var is even}_
...
_{/if}_
_{if $var is odd}_
...
_{/if}_
_{if $var is not odd}_
...
_{/if}_
```
{測試是否為4可除盡}
```
_{if $var is div by 4}_
...
_{/if}_
```
- 概述
- 基礎
- 安裝
- 規范
- 目錄
- 環境
- 配置
- 全部配置
- 數據庫配置
- 緩存配置
- 框架配置
- 自定義配置
- 讀取配置
- 控制器
- 創建
- 規范
- 繼承
- 輸出
- 視圖
- 基本使用
- 渲染模板
- 賦值變量
- 獲取結果
- 模板
- 常用標簽
- if - 判斷
- foreach - 遍歷
- break - 停止循環
- continue - 跳過循環
- @index - 索引
- @iteration - 循環次數
- @first - 首次循環
- @last - 最后循環
- for - 循環
- var - 定義變量
- nocache - 禁用緩存
- assign - 變量賦值
- include - 引入文件
- 變量修飾
- default - 默認輸出
- capitalize - 首字母大寫
- lower - 字母轉小寫
- upper - 字符轉大寫
- count_characters - 統計字符長度
- count_words - 統計單詞數量
- date_format - 格式化日期
- Chapter - 文本實體化
- indent - 縮進文本
- nl2br - 轉義換行
- replace - 文本替換
- spacify - 插入文本
- string_format - 字符串格式化
- strip - 移除特殊字符
- truncate - 文本截取
- 保留變量
- 數據庫
- 配置
- 基本使用
- 數據處理
- 增加數據
- 刪除數據
- 修改數據
- 查詢數據
- 其他查詢
- 關鍵字
- field
- join
- where
- page
- limit
- orderby
- groupby
- 其他
- 調試
- 緩存
- 各個緩存服務安裝
- 基本使用
- 設定緩存
- 查詢緩存
- 刪除緩存
- 修改緩存
- 清空緩存
- 其他操作
- Session操作
- Cookie操作
- File緩存
- 輔助
- 功能列表
- helper助手
- 擴展
- Composer
- 自定義擴展
- 包擴展
- 訪問
- 入口文件
- 靜態化
- 路由
- 默認路由
- 傳統請求
- 規則
- 其他
- 上傳文件
- 寫出日志
- 展示狀態頁
- CLI模式運行
- 上線須知
- 獲取GET/POST
- 性能消耗
- 直接訪問靜態頁
- 內置常量
- 圖形驗證碼
- 安裝Composer
- 應用擴展
- 支付寶手機端支付
- 支付寶電腦端支付