That's really up to you. You could also use bitshifting to store two tiles in one number/entry, for example:
tileentry = tilelayer0 + tilelayer1 * 256;
0 would mean "no tile" here.
So for example, if you just want to draw grass, which could be id 1, you'd end up with:
tileentry = 1 + 0 * 256 = 1
Note that I'm making up IDs. The actual numbers might be different for you.
If you want to draw grass (1) with a house (20) on top, you'd end up with:
tileentry = 1 + 20 * 256 = 5121
Of course this makes editing the map more complex, so you might want to create some editor (unless you have one, didn't check your code).
As an alternative, you could introduce a second array/table for the next layer, but by doing this you're essentially wasting space. Imagine a map using only one layer, you'd be increasing the size by 100% without any gains.