I know this is a really vague question, but I just don't intuitively get it. I'm mostly a javascript/java guy, so you'll have to excuse me.
What happens inside of that first array call when doing something like:
call_user_func_array(array($this, $this->statementType), array($args))
that turns it into a callback function that is a member of the $this object? I get that it works, I just don't fully get why and it's bugging me.