<?php
class Someclass
{
public function methodPrint($x, $y)
{
return $x + $y;
}
}
function functionPrint($x, $y)
{
return $x + $y;
}
function myFunction(callable $f, $a)
{
return $f($a);
}
$object = new Someclass();
$x = 1;
$y = 2;
echo myFunction(function($args) use ($object) {
return call_user_func_array([$object, 'methodPrint'], $args); // Ну, или как угодно уже вызывать здесь нужный метод с переданными аргументами }, [$x, $y]);
echo "\n";
echo myFunction(function($args) {
return call_user_func_array('functionPrint', $args); // Ну, или как угодно уже вызывать здесь нужную функцию с переданными аргументами }, [$x, $y]);
PD9waHAKIApjbGFzcyBTb21lY2xhc3MKewogICAgcHVibGljIGZ1bmN0aW9uIG1ldGhvZFByaW50KCR4LCAkeSkKICAgIHsKICAgICAgICByZXR1cm4gJHggKyAkeTsKICAgIH0KfQogCmZ1bmN0aW9uIGZ1bmN0aW9uUHJpbnQoJHgsICR5KQp7CiAgICByZXR1cm4gJHggKyAkeTsKfQogCmZ1bmN0aW9uIG15RnVuY3Rpb24oY2FsbGFibGUgJGYsICRhKQp7CiAgICByZXR1cm4gJGYoJGEpOwp9CiAKJG9iamVjdCA9IG5ldyBTb21lY2xhc3MoKTsKJHggPSAxOwokeSA9IDI7CiAKZWNobyBteUZ1bmN0aW9uKGZ1bmN0aW9uKCRhcmdzKSB1c2UgKCRvYmplY3QpIHsKICAgIHJldHVybiBjYWxsX3VzZXJfZnVuY19hcnJheShbJG9iamVjdCwgJ21ldGhvZFByaW50J10sICRhcmdzKTsgLy8g0J3Rgywg0LjQu9C4INC60LDQuiDRg9Cz0L7QtNC90L4g0YPQttC1INCy0YvQt9GL0LLQsNGC0Ywg0LfQtNC10YHRjCDQvdGD0LbQvdGL0Lkg0LzQtdGC0L7QtCDRgSDQv9C10YDQtdC00LDQvdC90YvQvNC4INCw0YDQs9GD0LzQtdC90YLQsNC80LgKfSwgWyR4LCAkeV0pOwplY2hvICJcbiI7CmVjaG8gbXlGdW5jdGlvbihmdW5jdGlvbigkYXJncykgewogICAgcmV0dXJuIGNhbGxfdXNlcl9mdW5jX2FycmF5KCdmdW5jdGlvblByaW50JywgJGFyZ3MpOyAvLyDQndGDLCDQuNC70Lgg0LrQsNC6INGD0LPQvtC00L3QviDRg9C20LUg0LLRi9C30YvQstCw0YLRjCDQt9C00LXRgdGMINC90YPQttC90YPRjiDRhNGD0L3QutGG0LjRjiDRgSDQv9C10YDQtdC00LDQvdC90YvQvNC4INCw0YDQs9GD0LzQtdC90YLQsNC80LgKfSwgWyR4LCAkeV0pOw==