Is there differences between call_user_func() and $var()?
<p>Is there any differences between <code>call_user_func()</code> and its syntactic sugar version...</p>

<pre><code>// Global function

$a = 'max';

echo call_user_func($a, 1, 2); // 2
echo $a(1, 2); // 2

// Class method

class A {

   public function b() {
     return __CLASS__;
   }

   static function c() {
      return 'I am static!';
   }

}

$a = new A;
$b = 'b';

echo call_user_func(array($a, $b)); // A
echo $a-&gt;$b(); // A

// Static class method

$c = 'c';

echo call_user_func(array('A', $c)); // I am static!
echo a::$c(); // I am static!
</code></pre>

<p><a href="http://codepad.org/QHdhkgKu" rel="nofollow">codepad</a>.</p>

<p>Both output the same, but I was <a href="http://stackoverflow.com/questions/5061476/php-forward-static-call-vs-call-user-func/5061495#5061495">recently hinted</a> (10k+ rep only) that they are <em>not</em> equivalent.</p>

<p>So, what, if any, are the differences?</p>
