可以将方法用作 array_map 函数吗 [英] Can a method be used as an array_map function

查看:22
本文介绍了可以将方法用作 array_map 函数吗的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想做这样的事情:

<前>类 Cls {函数乐趣($php){return '西班牙的雨.';}}$ar = 数组(1,2,3);$instance = new Cls();print_r(array_map('$instance->fun', $ar));//^ 这行不通

但 array_map 的第一个参数应该是函数的名称.我想避免围绕 $instance->fun 编写包装函数,但这似乎不可能.是真的吗?

解决方案

是的,您可以对方法进行回调,如下所示:

array_map(array($instance, 'fun'), $ar)

查看 PHP 手册中的回调类型了解更多信息

I want to do something like this:

class Cls {
  function fun($php) {
    return 'The rain in Spain.';
  }
}

$ar = array(1,2,3);
$instance = new Cls();
print_r(array_map('$instance->fun', $ar));
               // ^ this won't work

but the first argument to array_map is supposed to be the name of the function. I want to avoid writing a wrapper function around $instance->fun, but it doesn't seem like that's possible. Is that true?

解决方案

Yes, you can have callbacks to methods, like this:

array_map(array($instance, 'fun'), $ar)

see the callback type in PHP's manual for more info

这篇关于可以将方法用作 array_map 函数吗的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆