Beispiel #1
0
class foo
{
    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]);
Beispiel #2
0
class foo
{
    private function a()
    {
        var_dump(1);
    }
    public function b()
    {
        var_dump(2);
    }
    protected function c()
    {
        var_dump(3);
    }
    static function __callstatic($a, $b)
    {
        var_dump('__callStatic::' . $a);
    }
    public function __call($a, $b)
    {
        var_dump('__call::' . $a);
    }
}
$x = new foo();
$x->a();
$x->b();
$x->c();
$x::a();
$x::b();
$x::c();
Beispiel #3
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";
Beispiel #4
0
<?php

error_reporting(E_ALL);
class foo
{
    public $x = array(2);
    public function __call($x, $y)
    {
        if (count($this->x) == 1) {
            $this->x[] = $y[0];
        }
        return $this->x;
    }
}
$foo = new foo();
$x = array(1);
$foo->b($x)[1] = 3;
var_dump($foo->b()[0]);
var_dump($foo->b()[1]);
var_dump($foo->b()[2]);
Beispiel #5
0
<?php

class foo
{
    static $x = array();
    public function &a()
    {
        self::$x = array(1, 2, 3);
        return self::$x;
    }
    public function b()
    {
        $x = array(1);
        $x[] = 2;
        return $x;
    }
}
$foo = new foo();
// Changing the static variable
$foo->a()[0] = 2;
var_dump($foo::$x);
$foo->b()[] = new stdClass();
$h = $foo->b();
var_dump($h);
$h[0] = 3;
var_dump($h);
Beispiel #6
0
<?php

error_reporting(E_ALL);
class foo
{
    public $x;
    public static $y;
    public function a()
    {
        return $this->x;
    }
    public static function b()
    {
        return self::$y;
    }
}
$foo = new foo();
$h = $foo->a()[0]->a;
var_dump($h);
$h = foo::b()[1]->b;
var_dump($h);