第十五节:函数-可变函数-内部(内置)函数-匿名函数

可变函数

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 ?>

 

posted @ 2013-01-31 15:47  saws  阅读(167)  评论(0编辑  收藏  举报