带括号的PHP变量?

带括号的PHP变量?,php,variables,parentheses,Php,Variables,Parentheses,我不明白这个代码: $outputFunction($dst, $resized, $quality); 它不是一个函数,例如myfunction() 它不是一个变量例如$variable=$variable2 这是什么 代码在我下载的脚本中工作,我只是不知道那段代码是如何工作的…也许我只是太累了或者什么的 谢谢。$outputFunction保存函数的名称。因此,如果$outputFunction持有值“calculate”,则调用calculate($dst,$resized,$quali

我不明白这个代码:

$outputFunction($dst, $resized, $quality);
它不是一个函数,例如myfunction()

它不是一个变量例如$variable=$variable2

这是什么

代码在我下载的脚本中工作,我只是不知道那段代码是如何工作的…也许我只是太累了或者什么的


谢谢。

$outputFunction保存函数的名称。因此,如果$outputFunction持有值
“calculate”
,则调用
calculate($dst,$resized,$quality)

要添加到sbrattla的答案中,您还可以在PHP5.3中定义匿名函数(我认为),因此


在php中,您可以执行以下操作

$outputFunction = 'myFunction';
$outputFunction(args);
它可以正常地调用函数

这些是可变函数

$outputFunction
求值以获取将应用操作数的函数的名称


还有。

字符串应该在初始化之前初始化一些行。您可以将其视为函数的指针,它允许更改已执行的方法。


Php将识别您的语法,并将启动字符串中命名的函数(如果您愿意,可以计算)

这是一个“变量函数”,适用于函数,就像“变量”适用于值一样。我喜欢这个网站!!免费专家知识,在任何时间!我不明白为什么要使用变量函数,为什么不能使用函数的真实名称?例如,不使用$outputFunction?好的,不需要回答,我已经找到了:-变量函数有用的一个很好的例子是CMS系统Drupal,它允许模块(插件/扩展)“挂钩”到CMS系统的工作流中。这是通过让CMS系统调用模块实现的功能来实现的。函数名总是以实现函数的模块名开头,这就是变量函数名方便的地方,因为它们需要根据模块名“动态”确定。
$outputFunction = 'myFunction';
$outputFunction(args);