可以将方法用作 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
相关文章