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

更新于:2020年9月18日

9K+ 次浏览

启动你的职业生涯

完成课程获得认证

开始学习
广告