Well the arrays are used for all of the data for the tiles, and most importantly the X, Y world positions of all the tiles.
The tile positions are usually offset based on the size of the tiles, kinda like a big grid positioning system.
Also all of the tiles should move in the opposite direction of the position of a virtual camera. For example if your character is moving to the left, instead of moving the character to the left you can make all of the tiles move to the right.
You can use a 2D array or a one dimensional array.
If you use a 2D array, each peace of data in the array should only need one number, the type of tile that needs to be drawn. But with a 2D array, you will be limited specific sized box shaped map, and if you don't use all of the data in the box, you could have large amounts of useless empty array data.
With a one dimensional array you can use strings for each of your tile's data, or you can use sets of numbers for all of your tile's data. You could have a lot more power in controlling the data in the array. For example a one dimensional array will have no empty values, and you won't be stuck in a box.
You could use a 2D array a little differently and make the first dimension the tile number, and the second dimension all of the data for the tile.
There are multiple ways of using arrays for storing your data. Just use the one that works the best for whatever your doing.
Personally, I think that a one dimensional array is the easiest to work with, and they can do everything that a multidimensional array can, and in some cases even more.
I like games, and stuff.