【www.bbyears.com--php常用代码】
在一段ASP程序中,需要定义一个动态数组,但数组大小没办法一次ReDim到位,得根据实际需要逐个增大,于是有了下边代码:
代码如下<%
Dim arr()
"赋值
For i = 1 To 10
Redim Preserve arr(UBound(arr) + 1)
arr(UBound(arr)) = i
Next
"遍历
For i=0 to UBound(arr)
Response.Write(arr(i)&"
")
Next
%>
运行出错:
原因是在没有调用Redim定义数组下标前,使用UBound获得数组下标会出错,提示下标越界,对代码稍做修改即可解决:
代码如下<%
Dim arr()
ReDim arr(0)
"赋值
For i = 1 To 10
If arr(UBound(arr)) <> "" Then
Redim Preserve arr(UBound(arr) + 1)
End If
arr(UBound(arr)) = i
Next
"遍历
For i=0 to UBound(arr)
Response.Write(arr(i)&"
")
Next
%>