If your arrays are large then you will need to run this in Turbo mode. (Hold down Shift and click the green flag to turn Turbo mode on). In Turbo mode it takes about 2 seconds to create a 10000 element 3D array, write random numbers to each cell, then read and display all of the numbers. I ran this in normal mode but got bored waiting - it was going to take over 15 minutes! The "Read from" function stores the data in the variable "Result". The created List has the first 2 or 3 elements dedicated to storing the size of the 2D or 3D array (xSize,ySize or xSize,ySize,zSize). The rest of the List then follows the pattern: 1 1, 2 1, 3 1, 4 1....xSize 1, 1 2, 2 2, 3 2........xSize ySize for 2D. 111, 211, 311....xSize11, 121, 221........xSize ySize zSize for 3D. Note that the code uses "1" to indicated the first element in a dimension, not "0".
Keep track of 2D and 3D data arrays using Scratch's Lists. Code included to create, write to and read from multi-dimension arrays.