<?php
function O($f, $g) {
return function () use ($f, $g) {
};
}
function Foo($v) {
echo "foo(int v = $v)\n";
return $v + 1;
}
function Bar($v) {
echo "bar(int v = $v)\n";
return $v + 1;
}
$res = O('Foo', 'Bar')(1);
echo "res = $res\n";
PD9waHAKCmZ1bmN0aW9uIE8oJGYsICRnKSB7CiAgICByZXR1cm4gZnVuY3Rpb24gKCkgdXNlICgkZiwgJGcpIHsKICAgICAgICAkYXJncyA9IGZ1bmNfZ2V0X2FyZ3MoKTsKICAgICAgICByZXR1cm4gJGYoY2FsbF91c2VyX2Z1bmNfYXJyYXkoJGcsICRhcmdzKSk7CiAgICB9Owp9CgpmdW5jdGlvbiBGb28oJHYpIHsKICAgIGVjaG8gImZvbyhpbnQgdiA9ICR2KVxuIjsKICAgIHJldHVybiAkdiArIDE7Cn0KCmZ1bmN0aW9uIEJhcigkdikgewogICAgZWNobyAiYmFyKGludCB2ID0gJHYpXG4iOwogICAgcmV0dXJuICR2ICsgMTsKfQoKJHJlcyA9IE8oJ0ZvbycsICdCYXInKSgxKTsKZWNobyAicmVzID0gJHJlc1xuIjs=