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 に答える