在ASP中用execute 動(dòng)態(tài)的創(chuàng)建數(shù)組
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
[p]今天找了下eval 沒法創(chuàng)建連續(xù)的變量,如"a1,a2,a3..."這樣的連續(xù)變量[br]而我希望創(chuàng)建"a1,a2,a3..."這樣有連續(xù)數(shù)組[br]百度上找了許多方法,在網(wǎng)絡(luò)上用許多人用了execute這個(gè)方法來創(chuàng)建如"a1,a2,a3..."這樣的連續(xù)變量,是可行的,于是我就用這個(gè)方法來創(chuàng)建連續(xù)的數(shù)組變量[br]arraystr=split("1|2|3,4|5|6,7|8|9",",")[br]for i=0 to ubound(arraystr)[br] execute "a"&i&"=split("""&arraystr(i)&""",""|"")"[br]next[br][br]=========================================[br]后來又在網(wǎng)上找到了這篇文章[br][color=#05006c][b]vbscript中的eval()函數(shù)[br][/b][color=#000000]javascript中的eval函數(shù)讓我們可以很方便地操作一系列變量(a1,a2,a3,……)。自從vbscript 5.0之后,我們也可以asp中使用這個(gè)功能了![br] 很感謝編程愛好者論壇上的朋友提出的難題,讓我多學(xué)到了這個(gè)很有用的函數(shù)。[br] 和javascript一樣,eval()也是計(jì)算其中字符串所代表變量的值并返回,如eval("a"&"1")返回a1的值。不過這個(gè)eval()的功能和javascript比起來還是有差距的。我試了一下,發(fā)現(xiàn)主要有以下一點(diǎn):vbscript中的eval函數(shù)只能讀取返回值而不能為其中所代表變量賦值,即我們不可以用eval("a"&"1")為a1賦值。[br] 那位朋友提出的問題,是將接收到的一個(gè)長字符串("2005081200507120050612005051")按7個(gè)字符為一組依次賦給一系列變量a1,a2,a3,…。 [br] 如果是賦值予數(shù)組,那我們可以建立動(dòng)態(tài)數(shù)組:[br] <%[br] use="2005081200507120050612005051"[br] dim myarray()[br] redim myarray(0)[br] for i=1 to len(use) step 7[br] redim myarray(ubound(myarray)+1) [/color][color=#663300]'將數(shù)組容量加1[/color][br][color=#000000] myarray(ubound(myarray))=mid(use,i,7)[br] next[br] %>[br] 現(xiàn)在要賦值給系列變量,我們得引入另外一個(gè)函數(shù)execute()。這個(gè)函數(shù)的作用是將其中字符串視為vbscript語句執(zhí)行,如execute("a"&"1="&100")是執(zhí)行以下語句:a1=100。[br] 據(jù)此,我們可以按那位朋友的要求寫出以下代碼:[br] <%[br] use="2005081200507120050612005051"[br] dim n [/color][color=#663300]'作為變量a后的索引1,2,3,…[/color][br][color=#000000] n=1[br] for i=1 to len(use) step 7[br] execute "dim a"&cstr(n)&":a"&cstr(n)&"="&mid(use,i,7)[br] [/color][color=#663300]'執(zhí)行語句dim a:a1=mid(use,i,7)[/color][br][/color][color=#000000] n=n+1[br] next[br] %> [br]=======================================[br]這篇文章中提到了execute的用法[br]算是了解了eval和execute的區(qū)別[/color][/p]
該文章在 2010/6/7 23:44:34 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |