| 
                         定义简单数组 
有两种方法在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)nbsp;nbsp; 'Preservenbsp;nbsp; 保留数组中的原有数据 
 二维数组 
举例: 
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)nbsp; '下标从3到10,MyArray(3)即获取第一个元素的值 
有用的数组函数 
Ubound(数组名)函数--返回数组的最后一个元素的下标。 
Lbound(数组名)函数--返回数组的第一个元素的下标,缺省为0。 
 更多应用: 
数组排序函数 [code] 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) gt; 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)  "lt;brgt;"  Next
 
  将一个字符串分割并返回数组 复制代码 代码如下: Dim MyArray  MyArray = Split(字符串,分割符)  For I = Lbound(MyArray) to Ubound(MyArray)  Response.Write MyArray(I)  "lt;brgt;"  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)  "lt;brgt;" Next Next 
向另一个页面传递数组 
现在有很多种方法向另一页面传递数组,目前有三种方法: 
定义一个又逗号分隔的字符串,然后再下一页中用Split函数重新建立数组。 将数组存储在一个Session变量中,然后在下一个页面中调用。 通过表单的隐含区域来传递数组,他们都是自动用逗号分开,然后再用Split函数重新建立数组。 
前两种方法很好,但是都比第三中复杂。在这里我们将只介绍第三种,因为它是最简单最有效的。 
1.asp: lt;% dim I dim myArray(20) 
for I=0 to 20 myArray(I)="Item "  I next %gt; lt;htmlgt; lt;bodygt; lt;form name="testform" method="post" action="2.asp"gt; lt;% for I=0 to ubound(myArray) response.write "lt;input type=hidden name=myArray value='"  myArray(I)  "'gt;" next %gt; lt;pgt; lt;input type="submit"gt; lt;/formgt; lt;/bodygt; lt;/htmlgt; 
以上我们做的是在一个表单中用单独的隐含域存储数组中的每个元素,我们再看看下一页: 
2.asp lt;htmlgt; lt;bodygt; lt;% dim arrString dim myArray dim I 
arrString=request("myArray") myArray = split(arrString,",") 
for I=0 to ubound(myArray)  response.write "Item "I" = "  myArray(I)  "lt;brgt;"  vbCrLf next %gt; lt;/bodygt; lt;/htmlgt;                         (编辑:滁州站长网) 
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! 
                     |