(function () { $name = 'John'; (function () use ($name) { $greet = 'Hello'; (function () use ($name, $greet) { echo "{$greet}, {$name}\n"; })(); })(); })(); call_user_func(function () { $name = 'John'; call_user_func(function () use ($name) { $greet = 'Hello'; call_user_func(function () use ($name, $greet) { echo "{$greet}, {$name}\n"; }); }); }); After PHP7.0以降は new class{} で無名クラスが使えます.全てのクロージャを無