2014-01-06 65 views
1

我有下面的代碼,我想檢查數組索引3是現有的或沒有,但我總是得到這個錯誤:經典ASP檢查,如果在數組中的元素存在

Microsoft VBScript運行時錯誤「 800a0009'
標超出範圍: '[數:0]'

urlArray=Split(url1,"/") 

If (not isNull(urlArray(3))) then 
    If (urlArray(3)="site") Then 
     newUrl=urlArray(0) &"/"& urlArray(1) &"/"& urlArray(2) &"/m/" & urlArray(4) & "/" & urlArray(5) 
    Else 
     newUrl= url1 
    End If 
Else 
    newUrl= url1 
End If 

回答

3
  1. 使用函數 「IsArray的」,以確保該變量是陣列,見here

    如果變量是數組,則IsArray返回True;否則,它 返回False。對於包含 陣列的變體,IsArray特別有用。

  2. 利用函數「UBound函數」來檢查調升約束陣列,請參閱here

    返回最大可用下標爲 數組指定的尺寸。 UBound函數(arrayName中[,尺寸]) 任何維度下界始終爲0。

+0

感謝我用UBound函數來檢查所述陣列具有元件或不:)。 –