Trong cuộc sống, những hành động trên được gọi là lặp đi lặp lặp lại nhiều. Trong ASP Classic, cách mô tả công việc (hoạt động) được lặp lại nhiều lần gọi là cấu trúc lặp.
Có 4 loại cấu trúc vòng lặp như sau:
- For…Next statement – runs code a specified number of times
- For Each…Next statement – runs code for each item in a collection or each element of an array
- Do…Loop statement – loops while or until a condition is true
1) For…Next Loop
+ Cấu trúc
For i = indexStart To indexEnd [Step buocnhay]
Some code
Next
+ Ví dụ 1:
<html>
<body>
<%
Dim i
For i = 0 To 5
Response.Write("The number is " & i & "<br />")
Next
%>
</body>
</html>
Kết quả:
The number is 0
The number is 1
The number is 2
The number is 3
The number is 4
The number is 5
+ Ví dụ 2:
<html>
<body>
<%
Dim i
For i = 2 To 10 Step 2
Response.Write("The number is " & i & "<br />")
Next
%>
</body>
</html>
Kết quả:
The number is 2
The number is 4
The number is 6
The number is 8
The number is 10
Ví dụ 3:
<html>
<body>
<%
Dim i
For i = 10 To 2 Step -2
Response.Write("The number is " & i & "<br />")
Next
%>
</body>
</html>
Kết quả:
The number is 10
The number is 8
The number is 6
The number is 4
The number is 2
2) For Each…Next statement
Thường dùng cho việc truy xuất mảng
+ Cấu trúc
For Each x In arrName
Some code
Next
+ Ví dụ:
<html>
<body>
<%
Dim cars(2),x
cars(0)="Volvo"
cars(1)="Saab"
cars(2)="BMW"
For Each x In cars
Response.Write(x & "<br />")
Next
%>
</body>
</html>
Kết quả:
Volvo
Saab
BMW
3) Do…Loop statement
Một số cú pháp như sau:
Cú pháp 1:
Do While condition
some code
Loop
Cú pháp 2:
Do
some code
Loop While condition
Cú pháp 3:
Do Until condition
some code
Loop
Cú pháp 4:
Do
some code
Loop Until condition
Exit a Do…Loop: Sử dụng lệnh Exit Do
Ví dụ 1:
<!DOCTYPE html>
<html>
<body>
<%
Dim i
i=0
Do While i < 10
Response.Write(i & "<br>")
i=i+1
Loop
%>
</body>
</html>
Kết quả:
0
1
2
3
4
5
6
7
8
9
Ví dụ 2:
<!DOCTYPE html>
<html>
<body>
<%
Dim i
Do While i < 7
Response.Write("<h" & i & ">This is heading " & i & "</h" & i & ">")
Loop
%>
</body>
</html>
Kết quả: