PHP 变量函数
phpserver side programmingprogramming更新于 2025/8/19 11:22:17
简介
如果变量名前面有括号(无论是否带参数),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("输入函数名称:");
$var(10,20);
?>
输出
这将产生以下结果。−
输入函数名称: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

