I have not seen the first use case, but it seems valid and should be faster than call_user_func() , since you have no overhead when calling another function.
UPDATE:
In addition, you cannot do this with call_user_func() if you enabled the error level E_STRICT:
// ... public function &example($foo) { $this->bar = 'foo'; return $this->bar; } // ... $dummy = &$callback[0]->$callback[1]($args);
In this case, call_user_func() will output something like this:
Strict PHP standards: only variables should be assigned by reference in php shell code in line X
source share