Quên mật khẩu
 Đăng ký
Xem: 91|Trả lời: 0

[TWIG] Bài 11: Hàm for - vòng lặp trong Twig

[Lấy địa chỉ]

36

Chủ đề

7

Bài viết

172

Điểm

Administrator

Điểm
172
Đăng lúc 2024-9-6 19:04:07 | Xem tất |Chế độ đọc
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.
  1. {% for i in 0..10 %}
  2.      {{i}}.
  3. {% endfor %}
Sao chép mã

Đoạn mã trên sẽ in tất cả các số từ 0 đến 10.
  1. {# kết quả #}
  2. 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:
  1. {% for i in 10..0 %}
  2.      {{i}}.
  3. {% endfor %}
  4. {# 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
  1. {% for i in (10..0)|reverse %}
  2.      {{i}}.
  3. {% endfor %}
  4. {# 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ụ:
  1. {% set arr = ['sacmau','dangcap','mobi'] %}
  2. {% for i in arr %}
  3.      {{i}},
  4. {% endfor %}
  5. {# 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.
  1. {% for i in range(U1, Un, d) %}
  2.     {{ i }},
  3. {% endfor %}
Sao chép mã

Ví dụ:
  1. {% for i in range(0, 8, 4) %}
  2.     {{ i }},
  3. {% endfor %}
  4. {# 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ụ:
  1. {% for i in range(0, 4) %}
  2.     {{ i }},
  3. {% endfor %}
  4. {# 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.
  1. loop.index {# vị trí hiện tại của biến chạy i #}
  2. loop.first {# đúng (true) nếu biến i lặp lại lần đầu #}
  3. loop.last {# đúng (true) nếu biến i đang ở vị trí cuối cùng của vòng lặp #}
  4. {# biến loop.first và loop.last thường được sử dụng với thẻ if #}
Sao chép mã


Bạn phải đăng nhập mới được đăng bài Đăng nhập | Đăng ký

Quy tắc điểm

Lưu trữ|Danh sách ban|Diễn đàn Sắc màu

GMT+7, 2024-11-21 16:41 , Processed in 0.043987 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

Trả lời nhanh Lên trên Trở lại danh sách