PHP 变量函数
介绍
如果变量名前面带有括号(可以包含参数),PHP 解析器会尝试查找名称与变量值对应的函数并执行它。这种函数称为变量函数。此功能对于实现回调、函数表等很有用。
变量函数不能与 include、require、echo 等语言结构一起构建。不过,可以使用函数包装器找到解决方法。
变量函数示例
在下面的示例中,变量的值与函数名匹配。因此,通过在变量前面加上括号来调用该函数。
示例
<?php function hello(){ echo "Hello World"; } $var="Hello"; $var(); ?>
输出
这将产生以下结果:−
Hello World
这是另一个带参数的变量函数示例。
示例
<?php function add($x, $y){ echo $x+$y; } $var="add"; $var(10,20); ?>
输出
这将产生以下结果:−
30
在下面的示例中,要调用的函数名由用户输入。
示例
<?php function add($x, $y){ echo $x+$y; } function sub($x, $y){ echo $x-$y; } $var=readline("enter name of function: "); $var(10,20); ?>
输出
这将产生以下结果:−
enter name of function: add 30
变量方法示例
变量函数的概念可以扩展到类中的方法。
示例
<?php class myclass{ function welcome($name){ echo "Welcome $name"; } } $obj=new myclass(); $f="welcome"; $obj->$f("Amar"); ?>
输出
这将产生以下结果:−
Welcome Amar
静态方法也可以通过变量方法技术调用。
示例
<?php class myclass{ static function welcome($name){ echo "Welcome $name"; } } $f="welcome"; myclass::$f("Amar"); ?>
输出
这将抛出如下异常:−
Welcome Amar
广告