可変関数とは
これ参考にして頂ければ。
PHP: 可変関数 - Manual
<?php function foo() { echo "In foo()<br />\n"; } $func = 'foo'; $func(); // This calls foo()
適当に可変関数を応用してみよう
変数に関数名をぶちこめば、その変数を使うことで関数を呼び出せる。
これを応用して、配列に関数名を放り込んでみようか。
<?php class BigRoom { var $func_array = array("nadeshiko" => "test1", "sakurako" => "test2", "hanako" => "test3"); function test1() { echo "それには及ばないわ" . PHP_EOL; } function test2() { echo "失礼" . PHP_EOL; } function test3() { echo "ごめん、あんまよく知らない" . PHP_EOL; } } $BR = new BigRoom(); $BR->test1(); $func = $BR->func_array["sakurako"]; $BR->$func();
このようにすれば、配列の要素をキーに、メソッドを呼び出すことが出来る。