3

我不明白这段代码:

$outputFunction($dst, $resized, $quality);

它不是一个函数,例如 myfunction()

它不是变量,例如 $variable = $variable2

它是什么?

该代码在我下载的脚本中运行,我只是无法弄清楚那段代码是如何工作的......也许我只是累了或其他什么......

谢谢。

4

5 回答 5

9

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

于 2011-10-03T18:14:32.267 回答
3

要添加到 sbrattla 的答案,您还可以在 PHP 5.3 中定义匿名函数(我认为),所以

$var = function($a) { /* do something */ return $b; }
echo $var(123);
于 2011-10-03T18:16:09.550 回答
1

在php中你可以做类似的事情

$outputFunction = 'myFunction';
$outputFunction(args);

它可以正常调用该函数

变量函数

于 2011-10-03T18:16:19.890 回答
1

这些是变量函数

$outputFunction被评估以获得将应用操作数的函数的名称。

PHP 手册中有一整页专门讨论这个主题

于 2011-10-03T18:20:34.077 回答
0

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

Php 将识别您的语法并启动字符串中命名的函数(如果需要,计算一个)

于 2011-10-03T18:20:40.317 回答