for循环嵌套的时候一定要及时跳出,否则就会出现莫名其妙的问题,就像我开始的时候这样:
写一个在线购彩程序,当用户在购彩页面选择了复选框的值后,程序会根据这些值生成可能的注数,并输出。
for each b in iddI
for each c in iddII
for each d in iddIII
for each e in iddIV
for each f in iddV
for each g in iddVI
for each h in iddVII
'if b="" then
'response.write("数据位数不完全,请您重新选择")
'response.end()
'end if
if caizhong="福彩3D" or caizhong="排列3" then
n=trim(b)&trim(c)&trim(d)
str=str&n&" "
elseif caizhong="排列5" then
n=trim(b)&trim(c)&trim(d)&trim(e)&trim(f)
str=str&n&" "
elseif caizhong="七星彩" then
n=trim(b)&trim(c)&trim(d)&trim(e)&trim(f)&trim(g)&trim(h)
str=str&n&" "
end if
next
next
next
next
next
next
next
输出时用的是
<%=str%>
奇怪的是只有当caizhong="七星彩"的时候才能正常输出,其他情况下str的值都为空。谁知道怎么回事儿,给帮下忙。多谢了先。
到处求教而不得其解,郁闷的我都快要撞墙了,最后查for循环的时候看到跳出循环的语句 exit for,灵感突发,心想,是不是没有跳出循环的原因呢?修改程序为如下代码:
for each b in iddI
for each c in iddII
for each d in iddIII
if caizhong="福彩3D" or caizhong="排列3" then
n=trim(b)&trim(c)&trim(d)
str=str&n&" "
exit for
end if
for each e in iddIV
for each f in iddV
if caizhong="排列5" then
n=trim(b)&trim(c)&trim(d)&trim(e)&trim(f)
str=str&n&" "
exit for
end if
for each g in iddVI
for each h in iddVII
if caizhong="七星彩" then
n=trim(b)&trim(c)&trim(d)&trim(e)&trim(f)&trim(g)&trim(h)
str=str&n&" "
end if
next
next
next
next
next
next
next
保存,运行,哈哈终于按我的意思显示了,激动ing。
大家以后再使用for循环嵌套的时候要小心喽,该跳出的时候一定要跳出。