# 循環語句for
輸入:
~~~
{% set data = ['one': 1, 'two': 2, 'three': 3] %}
{% for value in data %}
Value: {{ value }}<br>
{% endfor %}
~~~
輸出:
~~~
Value:1
Value:2
Value:3
~~~
輸入:
~~~
{% for name, value in data %}
Name: {{ name }} Value: {{ value }}<br>
{% endfor %}
~~~
輸出:
~~~
Name: one Value:1
Name: two Value:2
Name: three Value:3
~~~
for循環與if語句連用:
~~~
{% for name,value in data if value < 2 %}
Value: {{ value }}<br>
{% endfor %}
~~~
輸出:
~~~
Value:1
Value:2
~~~
for循環與else/elsefor連用(當data中的元素個數為0時,else/elsefor語句將被執行)
用法示例:
~~~
{% set data = [] %}
{% for name,value in data %}
Value: {{ value }}<br>
{% else %}
暫無內容<br>
{% endfor %}
{% for name,value in data %}
Value: {{ value }}<br>
{% elsefor %}
暫無內容
{% endfor %}
~~~
`break`break語句用于跳出循環
用法示例:
輸入:
~~~
{% set data = ['one': 1, 'two': 2, 'three': 3] %}
{% for name,value in data %}
{% if name == 'two' %}
{% break %}
{% endif %}
{{ value }}
{% endfor %}
~~~
輸出:
~~~
1
~~~
## 循環上下文(Loop Context)
循環上下文關鍵字 loop 在for循環中可用,使用它,你可以方便的進行一些判斷和計數操作。 我們可以把它看做是一個循環計數器,用它來記錄元素在當前循環中的位置。 loop中主要包含以下可用屬性:
| 變量 | 描述 |
| :-: | :-: |
| loop.index | 當前元素在從1開始計數的循環計數器中的位置 |
| loop.index0 | 當前元素在從0開始計數的循環計數器中的位置 |
| loop.revindex | 當前元素在逆向從1開始計數的循環計數器中的位置 |
| loop.revindex0 | 當前元素在逆向從0開始計數的循環計數器中的位置 |
| loop.first | 是否是循環中的第一個元素 |
| loop.last | 是否是循環中的最后一個元素 |
| loop.length | 循環中的元素個數 |
用法示例:
`loop.index`
輸入:
~~~
{% set data= ['a','b','c'] %}
{% for value in data %}
{{ loop.index }}
{% endfor %}
<br />
{% for value in data %}
{{ loop.index0 }}
{% endfor %}
<br />
{% for value in data %}
{{ loop.revindex }}
{% endfor %}
<br />
{% for value in data %}
{{ loop.revindex0 }}
{% endfor %}
~~~
輸出
~~~
1 2 3
0 1 2
3 2 1
2 1 0
{% set data = [['id':0,'name':'a'],['id':1,'name':'b'],['id':2,'name':'c']] %}
{% for value in data %}
{% if loop.first %}
<table>
<tr>
<th>#</th>
<th>Id</th>
<th>Name</th>
</tr>
{% endif %}
<tr>
<td>{{ loop.index }}</td>
<td>{{ value['id'] }}</td>
<td>{{ value['name'] }}</td>
</tr>
{% if loop.last %}
</table>
{% endif %}
{% endfor %}
~~~
- 序言
- 基礎
- 安裝
- 規范
- 目錄
- 配置
- 架構
- 入口文件
- 偽靜態配置
- Facade
- 使用行為
- 路由
- 路由定義
- 控制器
- 定義控制器
- 數據庫
- 連接數據庫
- 鏈式操作
- where
- builder
- field
- limit
- page
- order
- group
- find
- select
- value
- count
- sum
- average
- maximum
- minimum
- column
- update
- insert
- delete
- begin
- rollback
- commit
- left
- right
- inner
- for_update
- shared_lock
- cache
- 構造器
- 查詢
- 添加
- 更新
- 刪除
- 模型
- 創建模型
- 自動時間戳
- 模型關聯
- 模型事件
- 數據轉換
- 軟刪除
- 視圖
- 模板
- 日志
- 調試
- 驗證
- CLI命令行
- 標準
- 命名規范
- 語法規范
- 注釋規范
- 設計模式
- 開發提示
- 數據字典
- Markdown使用文檔
- volt模板引擎
- 簡介
- 注釋
- 變量
- 過濾器
- 流程控制
- 循環語句for
- 條件判斷語句if
- 表達式及運算符
- 函數