PHP函数,它使用提供的参数执行提供的函数

时间:2014-12-06 17:36:00

标签: php

是php中的一种方式来创建一个函数,该函数使用提供的参数(提供的函数 - 作为数组)执行提供的函数(作为参数)。

以下是一些代码:

class Worker
{
    public function execute($func, $paramsArr)
    {
        php_func_executer($func, $paramsArr); //the function that I would like to have
    }
}

在其他php文件中我会做如下:

Class SomeClass 
{
    public function test($varA, $varB)
    {
         //do something
    }

    public function exeText()
    {
       ...
       $worker = new Worker();
       $worker->execute(test, [$varA, $varB]);
    }
}

我知道call_user_func_array但是在这里我不想传递函数的名称(作为字符串),我想传递函数本身(如上面的代码所示)

谢谢!

2 个答案:

答案 0 :(得分:1)

call_user_func_array将完成这项工作

$func = function($a, $b) {
    return $a+$b;
};

echo call_user_func_array($func, [1, 2]); // 3

答案 1 :(得分:1)

您可以将函数名称作为字符串传递并调用它。

function execute($func, $paramsArr)
    {
        $func($paramsArr[0], $paramsArr[1]);
    }

function func($par1, $par2)
    {
        echo $par1." ".$par2;
    }


execute('func' , array('a','b'));