第十五节:函数-可变函数-内部(内置)函数-匿名函数
可变函数
PHP支持可变函数的概念。这意味着如果一个变量后有圆括号,PHP将寻找与变量的值同名的函数,并且尝试执行他。
可变函数不能用作一些语言结构,因为他们不是函数,如echo();print();unset();isset();empty();include();require();
1 <?php 2 function a(){ 3 echo 'a'; 4 } 5 function b(){ 6 echo 'b'; 7 } 8 function c(){ 9 echo 'c'; 10 } 11 $funrow=array('a','b','c'); 12 $fun=$funrow[rand(0,2)]; 13 $fun(); 14 ?>
利用可变函数的特性来调用一个对象的方法。
1 <?php 2 class Foo{ 3 function variable(){ 4 $name='bar'; 5 $this->$name(); 6 } 7 function bar(){ 8 echo "This is Bar"; 9 } 10 } 11 $foo=new Foo(); 12 $funcname='variable'; 13 $foo->$funcname(); //输出 "This is Bar" 14 ?>