变量函数类似于可变变量,它的函数名为变量。使用变量函数可实现通过改变变量值得方法调用不同的函数。代码如下:
$func='noHtml';//讲一个函数名赋值给变量
echo $func($str);//相当于echo noHtml($str),输出结果为"abc"
$func='right';
echo $func($str,7);//相当于echo right($str,7),输出结果为"</font>"
可见,当某个变量名后有小括号是,PHP就回去找这个变量的值,然后运行和该值同名的函数。但变量函数不能用于语言结构,如变量值不能为echo、print、isset、empty、include、require等。
在PHP5.3以上版本中,开始支持匿名函数。匿名函数就是没有函数名的函数,例如:
<? $gret=function($name){//定义匿名函数,并将其赋给变量$greet
echo 'hello'.$name;};
$greet('World');//调用匿名函数,输出hello World
$greet('PHP');
?>
可见,为了调用匿名函数,常将匿名函数赋给一个变量,那么该变量就相当于函数名。但是用匿名函数更重要的原因,是为了实现函数的闭包。
深圳 · 龙岗 · 大运软件小镇22栋201
电话:400 182 8580
邮箱:szhulian@qq.com