【问题标题】:What's the benefite of binding functions to variables in php 5.3 [duplicate]在php 5.3中将函数绑定到变量有什么好处[重复]
【发布时间】:2014-02-19 10:47:10
【问题描述】:
$test = function(){};

这是 php ver 5.3 的一个新特性。我很想知道是什么原因。

【问题讨论】:

  • 嗯,这不是正确的语法,因为 5.4 版应该会因为意外 your_function 而失败。实际上,它希望 (args) 紧跟在 function 关键字之后。
  • 哦,那是一个错误。你可以做$test = function (){};,而不是$test = function your_function(){};。不允许的第二种语法
  • 感谢您的提及。我已经编辑了问题。
  • 通过您的编辑 - 答案很明显,来自什么是闭包以及它们的意图是什么

标签: php function variables


【解决方案1】:

这在 php 中称为变量函数。我们可以定义一些函数并将其分配给变量。这意味着如果一个变量名附加了括号,PHP 将寻找一个与变量求值结果相同的函数,并尝试执行它。除其他外,这可用于实现回调、函数表等。

<?php
function foo() {
    echo "In foo()<br />\n";
}

function bar($arg = '')
{
    echo "In bar(); argument was '$arg'.<br />\n";
}

// This is a wrapper function around echo
function echoit($string)
{
    echo $string;
}

$func = 'foo';
$func();        // This calls foo()

$func = 'bar';
$func('test');  // This calls bar()

$func = 'echoit';
$func('test');  // This calls echoit()
?>

Source

Check these too

【讨论】:

  • 对不起,这个答案是错误的。这总是可能的(至少从 PHP 4 开始)。您只是使用变量名来调用函数。我们谈论的是驻留在变量中的函数。
  • 我可以知道投反对票的原因吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-05-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-14
  • 2013-11-01
  • 2023-03-14
相关资源
最近更新 更多