自 PHP 5.3.0 起,可以用一个变量来动态调用函数和成员函数。但该变量的值不能为关键字(如 self,parent 或 static)。
动态调用函数
实例一:
function test1(){echo"a";}
function test2($x){echo $x;}
function test3($x,$y){echo $x.$y;}
$func="test1";$func();
$func="test2";$func("b");
$func="test3";$func("c","d");
?>
实例二:
function test1(){echo"a";}
function test2($x){echo $x;}
function test3($x,$y){echo $x.$y;}
call_user_func("test1");
call_user_func("test2","b");
call_user_func("test3","c","d");
?>
动态调用成员函数
实例:
class A{
function test1(){echo"a";}
function test2($x){echo $x;}
function test3($x,$y){echo $x.$y;}
}
$obj=new A;
call_user_func(array($obj,"test1"));
call_user_func(array($obj,"test2"),"b");
call_user_func(array($obj,"test3"),"c","d");
?>
求补充这方面的知识