如何判斷動態陣列為空?

2021-10-22 05:30:03 字數 1549 閱讀 7498

vba開發時經常用到陣列,但是如何判斷陣列是否為空,這裡說的「空」指的是,動態陣列宣告後,但是未賦值之前的狀態,在【本地視窗】中顯示如下。

此時dim語句已經執行完畢,可以認為已經完成了初始化,陣列並無法直接使用,因此可以使用錯誤捕獲的方式來實現檢測這個狀態。

示例**如下:

sub demo(

)dim arrtest(

)on error

resume

next

idx =

lbound

(arrtest)

if err.number >

0then

msgbox "arrtest是空陣列"

else

msgbox "arrtest不是空陣列"

endifon error

goto

0'陣列賦值

redim arrtest(0)

arrtest(0)

=1msgbox "arrtest(0)="

& arrtest(0)

on error

resume

next

idx =

lbound

(arrtest)

if err.number >

0then

msgbox "arrtest是空陣列"

else

msgbox "arrtest不是空陣列"

endifon error

goto

0end

sub

【**解析】

第4行**使用lbound函式讀取陣列的下標下界,使用ubound函式也可以。如果陣列為空,那麼將產生執行時錯誤9,由於第3行**忽略執行時錯誤,所以**可以繼續執行。

第5行**中err.number返回值為9,因此將執行第6行**,顯示如下訊息框。

第12~13行**為動態陣列賦值。

第14行**顯示陣列的值,如下圖所示。

第16行可以正常執行,不會產生執行時錯誤,此時err.number返回值為0,將顯示如下所以的訊息框。

使用**erase arrtest可以清空動態陣列,恢復到狀態。

如何判斷PHP陣列是否為空

php判斷陣列為空首選方法 count arr size arr arr array echo count arr echo size arr 輸出1 arr array echo count arr echo size arr 輸出0 php判斷陣列為空方法2 empty arr arr arra...

為空 判斷 如何判斷環境變數為空

今天在看 spark 的指令碼的時候,發現很多變數都有用到這種格式,如下 if z then spark classpath spark mounted classpath spark classpath fi z很容易理解,在 shell 指令碼裡就是表示後面這個變數是否為空,也做zero的意思。...

PHP中如何判斷陣列是否為空

php判斷陣列為空之一 for迴圈 最簡單也是最直接的方法,用 for迴圈來遍歷陣列。對於已知維數的陣列可以判斷,但如果是未知的多維陣列,該怎麼辦?php判斷陣列為空之二 implode 用 implode 將陣列輸出為字串,判斷輸出的字串是否為空。初看上去似乎是個不錯的方法,可惜跟上一點一樣,對於...