Действительно, похоже, это правильный ответ. Я не был уверен, что функция в синтаксисе массива будет работать (даже в PHP 5.3.x), поэтому я только что протестировал ее и, похоже, она работает:
<?php
echo phpversion( ) . ": ";
$foo = array(
'test' => function( ) {
return 'This is my test.';
}
);
echo $foo['test']( );
?>
Что выводит (на моей машине, конечно):
5.3.2-1ubuntu4.7: Это мой тест.