<?php class A { function c() { if ($a) { function a() { print "First a\n"; } } else { function a() { print "Second a\n"; } } } } $a = new A(); $a->c(); a();
} } interface I { public function a(int $a1 = 0); public function b(array $b1 = null); } class B implements I { public function a(int $a1 = null, int $z1 = 1, int $z2 = D2, int $z3 = 3, int $z4 = null) { } public function b(array $b1 = null, array $y = array(), int $z1 = 1, int $z2 = 2, double $z3 = 3.0, string $z4 = "abc") { } } $a = new A(); $a->a(); $a->b(); $a->d(); $a->f(); $a->i(); $a->s(); $a->c(); $a->c($a); $a->c(null); $a->z(); $b = new B(); $b->a(); $b->b(); print "Pass\n";
}; $a(); $a = static function () { var_dump($this); }; $a(); } static function c() { $a = function () { var_dump($this); }; $a(); $a = static function () { var_dump($this); }; $a(); } static function d() { var_dump(array_map(function ($a) { return $a; }, array(1, 2, 3))); } } (new A())->b(); A::b(); (new A())->c(); A::c(); (new A())->d(); A::d();