0

我不知道这是否可能,但我想通过将函数作为参数传递来调用函数内的函数,例如......

timeThis(test());

function test(){
   $i = 0;
   echo "add 1";
   $i += 1;
   echo "minus 10";
   $i -= l0;
}

function timeThis($fun){
   $timer = new timer;
   $timer->start();
   $fun;
   $timer->pause();
   echo $timer->get();
}

在php中可能有这样的事情吗?问候。

4

2 回答 2

0

是的,这是可能的(在 PHP 5.4 中):

function timeThis(callable $fun){
   ...
   $fun();
   ...
}

用法:

$var = function () { ... }
timeThis($a);

或者您可以通过字符串调用函数:

function aFunc() { ... }
call_user_func('aFunc');
于 2013-03-16T20:07:59.267 回答
0

这适用于所有版本的 PHP5。你可以使用“可调用”,但我相信这限制了你到 php5.4。

timeThis('test');

function test(){
   $i = 0;
   echo "add 1";
   $i += 1;
   echo "minus 10";
   $i -= l0;
}

function timeThis($fun){
   $timer = new timer;
   $timer->start();
   $fun();
   //or
   call_user_func($fun);
   $timer->pause();
   echo $timer->get();
}
于 2013-03-16T20:09:02.733 回答