If you're coming across to Codeigniter/PHP from another programming language like I did, it can get confusing. $this merely sets the scope of the variable to the instance of this (no pun intended) Controller.
Does that make more or some sense? $this = present_Controller and subsequently, the $data array.
I'm sure there are much more knowledgeable PHP programmers on here who can explain it better.