|
Hàm for trong TWIG dùng để lặp lại từng mục trong một trình tự. Vòng lặp for có 2 loại đó là chạy theo chuỗi số, hoặc chạy trong mảng.
1. For làm việc với chuỗi
Nếu bạn cần lặp lại một chuỗi số, bạn có thể sử dụng toán tử x..y (từ x đến y), với biến chạy là i.
- {% for i in 0..10 %}
- {{i}}.
- {% endfor %}
Sao chép mã
Đoạn mã trên sẽ in tất cả các số từ 0 đến 10.
- {# kết quả #}
- 0.1.2.3.4.5.6.7.8.9.10.
Sao chép mã
Hoặc chạy từ 10 đến 0 với:
- {% for i in 10..0 %}
- {{i}}.
- {% endfor %}
- {# kết quả: 10.9.8.7.6.5.4.3.2.1.0. #}
Sao chép mã
Để đảo ngược điểm xuất phát và điểm kết thúc của biến chạy i, chúng ta có thể dùng bộ lọc reverse
- {% for i in (10..0)|reverse %}
- {{i}}.
- {% endfor %}
- {# kết quả: 0.1.2.3.4.5.6.7.8.9.10. #}
Sao chép mã
2. For làm việc với mảng
Còn đối với mảng thì sao? => For sẽ chạy và lấy các phần tử có trong mảng đó. Ví dụ:
- {% set arr = ['sacmau','dangcap','mobi'] %}
- {% for i in arr %}
- {{i}},
- {% endfor %}
- {# kết quả: sacmau,dangcap,mobi, #}
Sao chép mã
3. Sử dụng vòng lặp for với hàm range:
Hàm range trả về một danh sách chứa cấp số cộng của các số nguyên với công sai d.
- {% for i in range(U1, Un, d) %}
- {{ i }},
- {% endfor %}
Sao chép mã
Ví dụ:
- {% for i in range(0, 8, 4) %}
- {{ i }},
- {% endfor %}
- {# kết quả: 0,4,8, #}
Sao chép mã
Khi công sai d không được gọi trong for, thì lúc này công sai mặc định của vòng lặp bằng 1.
Ví dụ:
- {% for i in range(0, 4) %}
- {{ i }},
- {% endfor %}
- {# kết quả: 0,1,2,3,4, #}
Sao chép mã
4. Biến loop
Bên trong khối vòng lặp for, bạn có thể sử dụng một số biến đặc biệt.
- loop.index {# vị trí hiện tại của biến chạy i #}
- loop.first {# đúng (true) nếu biến i lặp lại lần đầu #}
- loop.last {# đúng (true) nếu biến i đang ở vị trí cuối cùng của vòng lặp #}
- {# biến loop.first và loop.last thường được sử dụng với thẻ if #}
Sao chép mã
|
|