PHP は可変関数(variable functions)の概念をサポートします。
    これにより、変数名の後に括弧が付いている場合、その値が何であろうと
    PHPは、同名の関数を探し実行を試みます。
    この機能は、コールバック、関数テーブル等を実装するために使用可能です。
   
    可変関数は、echo(), unset(),
    isset(), empty(), 
    include(), print()
    のような言語構造と組み合わせて使用する
    ことはできません。これらの言語構造を可変変数として使うには
    独自のラッパ関数を使う必要があります。
   
    
例 17-14. 可変関数の例 
<?php function foo() {     echo "In foo()<br />\n"; }
  function bar($arg = '') {     echo "In bar(); argument was '$arg'.<br />\n"; }
  // This is a wrapper function around echo function echoit($string) {     echo $string; }
  $func = 'foo'; $func();        // This calls foo()
  $func = 'bar'; $func('test');  // This calls bar()
  $func = 'echoit'; $func('test');  // This calls echoit() ?>
 |  
  | 
   
    オブジェクトのメソッドを可変関数を使ってコールすることもできます。
    
例 17-15. 可変メソッドの例 
<?php class Foo {     function Variable()     {         $name = 'Bar';         $this->$name(); // Bar() メソッドのコール     }          function Bar()     {         echo "This is Bar";     } }
  $foo = new Foo(); $funcname = "Variable"; $foo->$funcname();  // $foo->Variable() をコールする
  ?>
 |  
  | 
   
    可変変数や
    function_exists()も参照してください。