任意の関数を指定する。

これはどう呼んだらいいのかな? コールバック?*1
PHP では、指定した関数を変数を介して実行することができる。
Cの関数ポインタともなんか違うような気がする。う〜む。

以下の例では、hoge() と fuga() を $f を介して実行している。

<?php

function hoge($a) {
   echo "hoge: " . $a ."\n";
}
function fuga($a) {
   echo "fuga: " . $a ."\n";
}

$f = "hoge";
print $f("aaa");
$f = "fuga";
print $f("bbb");

便利そうに見えるが、多用するとロジックが追いきれなくなって破綻するので注意。

*1:可変関数と呼ぶらしいです[記:2008-11-21]