PHP使用数组作为函数

时间:2014-04-14 19:22:43

标签: php

我已经创建了两个代码片段 http://codepad.viper-7.com/o5MxgFhttp://codepad.viper-7.com/qUpTag

在第二个片段中,我试图使用数组作为回调,因为我找到了 http://www.php.net/manual/en/language.types.array.php

  

注意:可以使用方括号和花括号   可互换地访问数组元素(例如$ array [42]和   $ array {42}在上面的例子中都会做同样的事情。)

所以,我认为我可以使用数组作为函数,因此我不需要声明

$get_new_key = function ($k) use($fa) {
  return $fa[$k];
};

但正如你所看到的,我得到了一个

  

:array_map()期望参数1是有效的回调,第一个数组   member不是第8行/ code / qUpTag中的有效类名或对象

错误。

有没有什么可以使数组成为可调用的,而无需创建一个伴随函数来访问它的值?

感谢。

1 个答案:

答案 0 :(得分:1)

拥有可调用数组并不意味着它返回数组的值。相反,它是一个指向类或对象上的方法的数组。

例如,array('MyClass', 'my_method')对于my_method上的静态方法MyClass是可调用的,array($object, 'method')是对象上的实例方法method可调用的在$object

您可以在PHP documentation

中详细了解可调用类型