Yeah, that's pretty good, but I'm not sure you can set up what he was wanting to do with the different tiles with that.
However you could still use the array to change the frames.
Also that brings up a bit about optimization. Depending on how big the layout is, and if you want the whole thing covered in tiles... you can actually wind up with a lot of tiles.
Too many tiles can be a big hit on performance, so one thing you could do is use a Canvas, and paste all the tiles that don't have to be used for collision detection into the canvas, and then destroy those sprites.
You could also just use the Tiled Background object as a base, and use the array to create the tiles you want different,if you want the whole screen filled that is.