PHP动态调用,大家都来谈吧

自 PHP 5.3.0 起,可以用一个变量来动态调用函数和成员函数。但该变量的值不能为关键字(如 self,parent 或 static)。

动态调用函数
实例一:
<?php
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");
?>

实例二:
<?php
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");
?>

动态调用成员函数
实例:
<?php
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");
?>

求补充这方面的知识

阅读 4.9k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题