CuDemVN.Wap.Sh



![]() | ![]() ![]() ![]() |
Tiếp tục với Serie học TWIG căn bản chúng ta hãy cùng tìm hiểu vòng lặp for trong twig. Vòng lặp là một phần khá quan trọng trong các dự án Wap/Web. Ví dụ để in ra một danh sách tập tin chúng ta phải sử dụng vòng lặp, bất kể ngôn ngữ lập trình nào cũng đều có khái niệm vòng lặp, trong PHP ta có nhiều vòng lặp while, do..while, for, foreach,... còn trong TWIG ta có vòng lặp for đảm nhiệm những chức năng tổng hợp...
Bài 4: Thẻ for - Vòng lặp quan trọng trong TWIG
Thẻ for - vòng lặp khá quan trọng và hay dùng. Đối với twig thì cũng có 2 loại là chạy theo số và chạy theo mảng.
Chúng ta đi vào ví dụ:
- Chạy theo số. ta hay quy ước có 1 biến chạy là i, điểm đầu và điểm cuối.
{% for i in 1..10 %}
{{i}},
{% endfor %}
Kết quả là "1, 2, 3, 4, 5, 6, 7, 8, 9, 10,"
Chạy từ điểm lớn nhất xuống nhỏ nhất
{% for i in 10..1 %}
{{i}},
{% endfor %}
Kết quả = "10, 9, 8, 7, 6, 5, 4, 3, 2, 1,"
Để đảo ngược điểm xuất phát và kết thúc thì ta dùng bộ lọc |reverse
{% for i in (10..1)|reverse %}
{{i}},
{% endfor %}
Kết quả là "1, 2, 3, 4, 5, 6, 7, 8, 9, 10,"
Chú ý Hai điểm đầu và cuối ta còn có thể thay bằng tên biến để tiện việc xử lý tìm ra điểm đầu cuối phù hợp
{% set start=1 %}
{% set end=10 %}
{% for i in start..end %}
{{i}},
{% endfor %}
Ngoài chạy i lần lượt như thế, ta còn có thể cho nó nhảy cóc theo cấp số cộng
{% for i in range(20,10,2) %}
* {{ i }}
{% endfor %}
Kết quả là "* 20 * 18 * 16 * 14 * 12 * 10"
{% for i in range(20,10,2)|reverse %}
* {{ i }}
{% endfor %}
Kết quả là "* 10 * 12 * 14 * 16 * 18 * 20"
- Tiếp theo là chạy theo mảng. Nó sẽ chạy và lấy các phần tử của mảng đó
{% set array=[1,2,3,4,5] %}
{% for i in array %}
{{i}},
{% endfor %}
Kết quả "1, 2, 3, 4, 5,"
Nghịch đảo mảng:
{% set array=[1,2,3,4,5] %}
{% for i in array|reverse %}
{{i}},
{% endfor %}
Kết quả "5, 4, 3, 2, 1,"
Chú ý Nếu bạn thấy các phần ngăn cách dấu phẩy, dấu sao ở các ví dụ trên, bạn không muốn điểm đầu hoặc cuối thừa ra các điễm ngăn cách như vẫy thì hãy loại bỏ phần thừa đó bằng cách tìm kiếm xem đâu là vòng lặp đầu tiên hay cuối cùng.
- Đối với chạy theo số thì dễ rồi. b chỷ cần dùng if so sánh i với start hoặc end là ok.
- Đối với mảng thì ta dùng if so sánh như sau
{% if
loop.last == false %},{% endif %}
nghĩa là nếu vòng lặp cuối là sai thì in ra dấu phẩy (Nếu không phải vòng lặp cuối thì in ra ",")
Hãy so sánh với "true" xem nhá.
loop.last thay bằng loop.first
Chúc các bạn thành công. Để điều khiển một script chạy theo mong muốn bạn còn cần phải tìm hiểu Thẻ if và toán tử trong TWIG!
Nguồn: tiaxgame - AiChat.Wap.Sh

Đánh giá: 4.5/ 5, 1532 bình chọn
