for the world you'd probably need three arrays. one for tiles under the player. one for collision and events(this one changes), and one for tiles above the player. You know how to use arrays dont you?
something like this would make a world 100x100 tiles:
assign different numbers used for events(for each tile) like collision, talking, etc... youd have a different number for each object on the map
world_events(100,100)
assign a tile number to each tile under the player (floor)
world_under(100,100)
assign a tile number to each tile over the player (above floor)
world_over(100,100)
hope you find that helpful
.........what's the point of reading this?