Skip to main content Link Search Menu Expand Document (external link)

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

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.

TWIG
{% for i in 0..10 %}
{{i}}.
{% endfor %}

Đoạn mã trên sẽ in tất cả các số từ 0 đến 10.
TWIG
{# kết quả #}
0.1.2.3.4.5.6.7.8.9.10.

Hoặc chạy từ 10 đến 0 với:
TWIG
{% for i in 10..0 %}
{{i}}.
{% endfor %}
{# kết quả: 10.9.8.7.6.5.4.3.2.1.0. #}

Để đả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
TWIG
{% for i in (10..0)|reverse %}
{{i}}.
{% endfor %}
{# kết quả: 0.1.2.3.4.5.6.7.8.9.10. #}


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ụ:
TWIG
{% set arr = ['sacmau','dangcap','mobi'] %}
{% for i in arr %}
{{i}},
{% endfor %}
{# kết quả: sacmau,dangcap,mobi, #}


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.
TWIG
{% for i in range(U1, Un, d) %}
{{ i }},
{% endfor %}

Ví dụ:
TWIG
{% for i in range(0, 8, 4) %}
{{ i }},
{% endfor %}
{# kết quả: 0,4,8, #}

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ụ:
TWIG
{% for i in range(0, 4) %}
{{ i }},
{% endfor %}
{# kết quả: 0,1,2,3,4, #}


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.
TWIG
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 #}

Chia sẻ



QRcode
QRcode