akkun_choi pedia
mindia › akkun_choi pedia › 単語

call_user_func

akkun_choi · 2008-06-15 更新 · 履歴(5)
第 2 版(2007-05-10 13:53:52 · akkun_choi)を表示しています。 最新版に戻る

例

$func = 'callback';
$arg1 = 'Hello';
$arg2 = 'World';
$result = call_user_func($func, $arg1, $arg2);
echo $result;
function callback($arg1, $arg2){
  return $arg1 . ' ' . $arg2;
}

Hello World

Becnmark

test code

require_once('Benchmark/Timer.php');
$b = new Benchmark_Timer();
$b->start();
$func = 'concat';
$arg1 = 'Hello';
$arg2 = 'World';
for ($i = 0; $i < 100000; $i++){
    concat($arg1, $arg2);
}
$b->setMarker(1);
for ($i = 0; $i < 100000; $i++){
    call_user_func($func, $arg1, $arg2);
}
$b->setMarker(2);
$st = new str();
for ($i = 0; $i < 100000; $i++){
    call_user_func(array($st, 'concat'), $arg1, $arg2);
}
$b->display();
function concat($arg1, $arg2){
  return $arg1 . ' ' . $arg2;
}
class str{
    function concat($arg1, $arg2){
      return $arg1 . ' ' . $arg2;
    }
}

result

----------------------------------------------------
marker  time index            ex time         perct   
----------------------------------------------------
Start   1178772754.67023400   -                0.00%
----------------------------------------------------
1       1178772755.06544500   0.395211        20.20%
----------------------------------------------------
2       1178772755.72854600   0.663101        33.90%
----------------------------------------------------
Stop    1178772756.62629900   0.897753        45.90%
----------------------------------------------------
total   -                     1.956065       100.00%
----------------------------------------------------

履歴

タグ