数组常用的方法和案例

定义简单数组
有两种方法在asp中定义和初始化数组,让我们看看每种的例子:
方法一:
MyArray = Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct", "Nov","Dec")
数组大小由初始化元素个数决定。
方法二:
Dim myArray(2) '指定数组大小
myArray(0)="Jan" 
myArray(1)="Feb"
数组动态扩展
DIM myArray()
REDIM myArray(20) '将数组大小重新定义为20
ReDim Preserve MyArray(i) ‘Preserve 保留数组中的原有数据


二维数组
举例:
dim MyArray(5,10) '定义了一个二维数组
二维赋值举例:
MYArray(3,3)=100
二维数组还有一种变相的实现方法:
dim MyArray(5)
MyArray(0)=Array(...) '一维数组
MyArray(1)=Array(...)'一维数组
...
访问的时候,用MyArray(x)(y)这样的格式
数组的下标
用上面的方法定义数组,每一维数组的第一个元素的下标是0,最后一个元素的下标就是元素数量-1
但也可以指定数组的下标,如:
dim MyArray1(3 to 10) '下标从3到10,MyArray(3)即获取第一个元素的值
 
有用的数组函数
Ubound(数组名)函数--返回数组的最后一个元素的下标。
Lbound(数组名)函数--返回数组的第一个元素的下标,缺省为0。
更多应用:
数组排序函数
function Sort(ary) 
KeepChecking = TRUE 
Do Until KeepChecking = FALSE 
KeepChecking = FALSE 
For I = 0 to UBound(ary) 
If I = UBound(ary) Then Exit For 
If ary(I) > ary(I+1) Then 
FirstValue = ary(I) 
SecondValue = ary(I+1) 
ary(I) = SecondValue 
ary(I+1) = FirstValue 
KeepChecking = TRUE 
End If 
Next 
Loop 
Sort = ary 
End function
数组排序函数应用例子
Dim MyArray 
MyArray = Array(1,5,123,12,98)
MyArray = Sort(MyArray) 
For I = Lbound(MyArray) to Ubound(MyArray) 
Response.Write MyArray(I) & "<br>"
Next
将一个字符串分割并返回数组
Dim MyArray
MyArray = Split(字符串,分割符)
For I = Lbound(MyArray) to Ubound(MyArray) 
Response.Write MyArray(I) & "<br>"
Next
在Application和Session中使用数组
Application.Lock
Application("StoredArray") = MyArray
Application.Unlock
LocalArray = Application("StoredArray")
覆盖Application中的数组
Application.Lock
Application("StoredArray") = LocalArray
Application.Unlock
Session使用方法与Application相同
从数据库中把数据导入数组中
Dim MyArray
取出全部记录
MyArray = RS.GetRows
取出前10项记录
MyArray = RS.GetRows(10)
For row = 0 To UBound(MyArray, 2)
For col = 0 To UBound(MyArray, 1)
Response.Write (col, row) & "<br>"
Next
Next
向另一个页面传递数组
有很多种方法向另一页面传递数组,比如以下三种:
1、定义一个又逗号分隔的字符串,然后再下一页中用Split函数重新建立数组。
2、将数组存储在一个Session变量中,然后在下一个页面中调用。
3、通过表单的隐含区域来传递数组,他们都是自动用逗号分开,然后再用Split函数重新建立数组。
前两种方法很好,但是都比第三种复杂。在这里我们将只介绍第三种,因为它是最简单的。
文件1.asp:
<%
dim I
dim myArray(20)
for I=0 to 20
myArray(I)="Item " & I
next
%>
<html>
<body>
<form name="testform" method="post" action="2.asp">
<%
for I=0 to ubound(myArray)
response.write "<input type=hidden name=myArray value='" & myArray(I) & "'>"
next
%>
<p>
<input type="submit">
</form>
</body>
</html>
以上我们做的是在一个表单中用单独的隐含域存储数组中的每个元素,我们再看看下一页:
文件2.asp
<html>
<body>
<%
dim arrString
dim myArray
dim I
arrString=request("myArray")
myArray = split(arrString,",")
for I=0 to ubound(myArray) 
response.write "Item "&I&" = " & myArray(I) & "<br>" & vbCrLf
next
%>
</body>

</html>


简单生活,希望对大家有用!要觉得本文有价值请分享给您的朋友,生活就是人来人往,分享越多!收获越多!作者:天天ASP家园

 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值