可変関数

PHP は可変関数(variable functions)の概念をサポートします。 これにより、変数名の後に括弧が付いている場合、その値が何であろうと PHPは、同名の関数を探し実行を試みます。 この機能は、コールバック、関数テーブル等を実装するために使用可能です。

可変関数は、echo(), unset(), isset(), empty()のような 言語構造と組み合わせて使用することはできません。これは、PHPの関数と 言語構造の間の主な違いの一つです。

例 12-1可変関数の例


<?php
function foo() {
   echo "In foo()<br>\n";
}
 
function bar( $arg = '' ) {
   echo "In bar(); argument was '$arg'.<br>\n";
}
 
$func = 'foo';
$func();
$func = 'bar';
$func( 'test' );
?>