你能判断一个数组是否为空

时间:2013-10-28 18:26:29

标签: foxpro visual-foxpro

如何判断数组是否为空甚至是否包含数组?我知道这是两个不同的问题。请善待。

我以这种方式实例化数组:

local array MyFiles[1,5]
nFilesFound = ADIR( MyFiles, qazMSG + '*.*')

1 个答案:

答案 0 :(得分:3)

要检查数组是否为空,需要执行两个步骤。首先,检查是否只有一个元素:

然后,您必须检查该元素中的数据是否为内容中有意义的标准。因此,一般来说,您可能会使用以下内容:

IF ALEN(aMyArray) = 1 and EMPTY(aMyArray)
  * Array is empty
ENDIF

但在某些情况下,第一个元素为空可能有效。

在您展示的情况下,它会更容易。函数ADIR()返回找到的文件数。所以你可以检查nFilesFound以查看它是否为0。

要尝试回答您的其他问题,您可以使用ALEN()函数查看数组的形状:

ALEN(aMyArray)ALEN(aMyArray, 0)会告诉您数组中元素的总数。

ALEN(aMyArray,1)告诉你数组中的行数。

ALEN(aMyArray,2)会告诉您列数。

你可以将最后两个相乘得到第一个。