How to Determine If All Elements in an Array Are Empty (103088)



The information in this article applies to:

  • Microsoft Visual FoxPro for Windows 3.0
  • Microsoft FoxPro for MS-DOS 2.0
  • Microsoft FoxPro for MS-DOS 2.5
  • Microsoft FoxPro for MS-DOS 2.5a
  • Microsoft FoxPro for Windows 2.5
  • Microsoft FoxPro for Windows 2.5a

This article was previously published under Q103088

SUMMARY

To determine if an entire array is empty, you can use the function shown below.

NOTE: There isn't a FoxPro function written for this purpose. The EMPTY() function comes close, but it will not return a correct answer if an array element that is not the first element in the array is populated with data.

MORE INFORMATION

The following function will return a logical false if any element in the entire array is populated with anything other than .F.:
   FUNCTION aempty
   PARAMETERS aname
   FOR pass = 1 to ALEN(aname) STEP 1
   retval = EMPTY(aname(pass))
   IF retval
      LOOP
   ELSE
       RETURN retval
   ENDIF
   ENDFOR
				
This function takes a single parameter <arrayname>. The syntax to call this function is as follows:
   SET UDFPARMS TO REFERENCE
   DIMENSION x(10)
   x(5) = "junk"
   ? aempty(x)
				
NOTE: The elements in any array will initially be false (.F.) by default. Therefore, any element with a logical value of .F. is considered empty.

Modification Type:MajorLast Reviewed:12/3/2003
Keywords:kbcode KB103088