{ public $x = 2; public function a() { $x = array(); $x[] = new foo(); return $x; } public function b() { return array(1.2, array(new self())); } public function c() { $a = array(); $b =& $a; $b[] = true; return $a; } public function d() { return $this->b(); } } $foo = new foo(); var_dump($foo->a()[0]->x); var_dump($foo->a()[0]); var_dump($foo->b()[1][0]->a()[0]->x); var_dump($foo->c()[0]); var_dump($foo->d()[0]);
<?php error_reporting(E_ALL); class foo { public $x = array(); public function b() { return $this->x; } public function c() { return $x; } public static function d() { } } $foo = new foo(); $foo->b()[0] = 1; $foo->c()[100] = 2; foo::d()[] = 3; print "ok\n";