You world is a 2 dimensional byte array storing what? Height? Tile type? You won't be able to have caves if it's only 2 dimensional, only hills. But anyway, the general idea would be something like:
Vertical Collision (Floor)
Divide the player's (X,Z) by the block's size to know which block he's currently on top of. Find the height of the floor in that block (by checking your array at that position). If it's lower than the player's Y apply gravity, in order to make the player fall. Otherwise, set the player's Y to be the height at that spot, in order to ground him.
Horizontal Collision (Walls)
When moving the player, check the block he's on before and after the movement. If he crossed a block boundary by moving (i.e. the current block changed) check the height of the new block. If it's higher than his current height, cancel the movement because he must have hit a wall (or clamp his position against the edge of the block).