Here you go.

This script contains a simple UDF Array2Vector() which will take a two dimensional array and return a simple (1D array) each of whose elements is itself a simple array.

This means that you can reference and manage each of the arrays as an individual array, indeed they can be different sizes.

You refer to the individual elements slightly differently:
  • $MultiArray[x,y]
  • $ArrayOfArrays[x][y]


Be careful with the UDF though as I haven't built any error checking into it.

 Code:
$=SetOption("Explicit","ON")

Dim $i,$ArrayOfArrays,$SimpleArray
Dim $MultiArray[2,5]

For $i=0 to 4
	$MultiArray[0,$i]=SubStr("ABCDE",$i+1,1)
	$MultiArray[1,$i]=SubStr("ZYXWV",$i+1,1)
Next


$ArrayOfArrays=Array2Vector($MultiArray)

"Array #1:"+@CRLF
$SimpleArray=$ArrayOfArrays[0]
For $i=0 To UBound($SimpleArray)-1
	"  Element # "+($i+1)+": "+$SimpleArray[$i]+@CRLF
Next
"Array #2:"+@CRLF
$SimpleArray=$ArrayOfArrays[1]
For $i=0 To UBound($SimpleArray)-1
	"  Element # "+($i+1)+": "+$SimpleArray[$i]+@CRLF
Next

; Convert a 2D array to an array of 1D arrays
Function Array2Vector($A)
	Dim $i,$t,$e

	Redim $Array2Vector[UBound($A,1)]

	For $i = 0 To UBound($A,1)-1
		Redim $e[UBound($A,2)]
		For $t=0 To UBound($a,2)-1
			$e[$t]=$A[$i,$t]
		Next
		$Array2Vector[$i]=$e
	Next

	Exit 0

EndFunction