Latest web development tutorials

# Lua array

Array is a collection of the same type of data elements in a certain order, which can be one-dimensional arrays and multidimensional arrays.

Lua array index key values ​​can be used as an integer, the size of the array is not fixed.

## One-dimensional array

One-dimensional array is an array of the most simple, logical structure is a linear form. One-dimensional array can be used for the loop elements in the array, the following examples:

```array = {"Lua", "Tutorial"}

for i= 0, 2 do
print(array[i])
end
```

The output is the above code is executed:

```nil
Lua
Tutorial
```

As you can see, we can use an integer index to access array elements, if you know there is no index value is returned nil.

In Lua index values ​​are 1 start, but you can also specify 0.

Except addition, we may also be a negative array index value:

```array = {}

for i= -2, 2 do
array[i] = i *2
end

for i = -2,2 do
print(array[i])
end
```

The output is the above code is executed:

```-4
-2
0
2
4
```

## Multidimensional Arrays

Multidimensional array that is an array that contains an array of index key or a one-dimensional array corresponding to the array.

Here is an array of three rows and three columns in a multidimensional array:

```-- 初始化数组
array = {}
for i=1,3 do
array[i] = {}
for j=1,3 do
array[i][j] = i*j
end
end

-- 访问数组
for i=1,3 do
for j=1,3 do
print(array[i][j])
end
end
```

The output is the above code is executed:

```1
2
3
2
4
6
3
6
9
```

Three rows of three arrays multidimensional arrays different index keys:

```-- 初始化数组
array = {}
maxRows = 3
maxColumns = 3
for row=1,maxRows do
for col=1,maxColumns do
array[row*maxColumns +col] = row*col
end
end

-- 访问数组
for row=1,maxRows do
for col=1,maxColumns do
print(array[row*maxColumns +col])
end
end
```

The output is the above code is executed:

```1
2
3
2
4
6
3
6
9
```

As you can see, the above examples, the array index is set to the specified value, so can avoid nil value, help to save memory space.