如何给application中的数组赋值
下面的代码输出为1,而不是2,怎么办呢?
<%
dim a(0)
a(0)=1
application("b")=a
application("b")(0)=2
response.write application("b")(0)
%>
问题点数:200、回复次数:10Top
1 楼liuxiaoyi666(MSMVP 小猪妹荣誉马甲之八卦兔子)回复于 2006-07-03 18:20:42 得分 40
<%
dim a(0)
a(0)=1
application("b")=a
b=application("b")
b(0)=2
application("b")=b
response.write application("b")(0)
%>Top
2 楼netdust(静时常思己过,闲谈勿论人非)回复于 2006-07-03 18:27:32 得分 0
这样倒是行,如果不使用b,可以直接操作吗?
因为现在有这样一个问题,我使用动态数组放在application里,使用b的话无法实现变长(除非用循环遍历着倒出去)Top
3 楼liuxiaoyi666(MSMVP 小猪妹荣誉马甲之八卦兔子)回复于 2006-07-03 18:39:38 得分 40
没看明白Top
4 楼meizz(梅花雪)回复于 2006-07-03 19:39:29 得分 40
application 里存放着数组的引用而非数组本身,所以兔子的代码没有问题的呀!Top
5 楼cueixu1(紫之龙)回复于 2006-07-03 19:47:05 得分 40
必须通过一个变量中转,不能使用application或者SESSION直接进行数组性操作。没有效果的~~
我曾经尝试过了。。。Top
6 楼netdust(静时常思己过,闲谈勿论人非)回复于 2006-07-04 09:22:58 得分 0
例如这样:
<%
redim a(10)
a(0)=2
'.....
application("b")=a
'现在想把application里的数组长度加一,怎么办呢? 多些 ^_^
%>Top
7 楼meizz(梅花雪)回复于 2006-07-04 09:30:20 得分 40
<%
redim a(10)
a(0)=2
'.....
application("b")=a
dim b : b = application("b")
ReDim Preserve b(ubound(b)+1)
application("b") = b
response.write ubound(application("b"))
'现在想把application里的数组长度加一,怎么办呢? 多些 ^_^
%>
Top
8 楼netdust(静时常思己过,闲谈勿论人非)回复于 2006-07-04 09:39:13 得分 0
实在不好意思哈,上面的代码能通过,不过我现在使用的是二维的,把上面的代码改为二维的就提示‘下标越界’
redim a(10) --> redim a(10,1)Top
9 楼netdust(静时常思己过,闲谈勿论人非)回复于 2006-07-04 09:40:26 得分 0
<%
redim a(10,1)
'a(0)=2
'.....
application("b")=a
'现在想把application里的数组长度加一,怎么办呢? 多些 ^_^
%>Top
10 楼netdust(静时常思己过,闲谈勿论人非)回复于 2006-07-04 10:45:41 得分 0
刚刚看到的资料:
如果使用了 Preserve 关键字,就只能调整数组最后维的大小,并且不能改变数组的维数。
谢谢大家了Top




