2011年04月21日に投稿

[PHP]可変関数を用いてコールバック関数を実行する

PHPは変数を関数名にして実行することができる可変関数というものがあります。
関数名を変数にして動的に関数を呼び出すことができます。文章で書いていて自分でも意味が分かりづらいので実際にサンプルコードに落とし込みます。


[php]

[/php]

関数名自体は文字列として変数$hogeに格納されており、$hogeが展開されてsore()が呼び出されます。
この仕組みを使うとコールバック関数が実現できそうでしたので、実際に作成しました。

[php]

[/php]
関数doreに文字列の引数soreを渡して実行するとhelloが出力されます。
関数doreでは受け取った文字列を可変関数として実行し結果を返却します。
実用性があるのか分かりませんが、このようなかたちでコールバック関数を実行することができます。

関連記事

Leave a Reply