【问题标题】:Store function inside an array在数组中存储函数
【发布时间】:2014-04-21 23:59:54
【问题描述】:

我可以这样做吗?

$arrayFn[1] = function fnName(){
    echo "test";
}
$arrayFn[1];

【问题讨论】:

    标签: php arrays function


    【解决方案1】:

    Anonymous functions 不能有名字:

    $arrayFn[1] = function (){
       echo "test";
    };
    $arrayFn[1](); // run it!
    

    【讨论】:

    • 我相信你在变量函数之后需要()来调用它。
    • 你完全正确,谢谢。我编辑了答案。
    • 在数组中存储许多函数可能会导致溢出或任何不好的事情?
    • @obeyjoseph:不,我的 Validator 类通常在关联数组中包含 30-40 个验证函数。似乎没有什么不好的事情发生。不过,您应该对自己的应用程序进行自己的基准测试。
    【解决方案2】:
    $arrayFn[1] = function (){
    echo "test";
    }; 
    $arrayFn[1]();
    

    【讨论】:

      猜你喜欢
      • 2018-03-29
      • 1970-01-01
      • 1970-01-01
      • 2016-02-12
      • 2011-07-18
      • 1970-01-01
      • 2022-11-17
      • 2014-01-20
      • 1970-01-01
      相关资源
      最近更新 更多