gpt4 book ai didi

php - 将对象方法传递给 array_map()

转载 作者:IT王子 更新时间:2023-10-28 23:49:53 25 4
gpt4 key购买 nike

    class theClass{
function doSomeWork($var){
return ($var + 2);
}

public $func = "doSomeWork";

function theFunc($min, $max){
return (array_map(WHAT_TO_WRITE_HERE, range($min, $max)));
}
}

$theClass = new theClass;
print_r(call_user_func_array(array($theClass, "theFunc"), array(1, 5)));
exit;

谁能告诉我在 WHAT_TO_WRITE_HERE 可以写什么,以便 doSomeWork 函数作为第一个参数传递给 array_map。并且代码可以正常工作。

然后给出

Array
(
[0] => 3
[1] => 4
[2] => 5
[3] => 6
[4] => 7
)

最佳答案

要通过 array_map() 使用对象方法,请传递一个包含对象和对象方法名称的数组。对于同一对象范围,请照常使用 $this。由于您的方法名称是在 public $func 属性中定义的,因此您可以传递 func

附带说明,array_map() 之外的括号不是必需的。

return array_map( [$this, 'func'], range($min, $max));

关于php - 将对象方法传递给 array_map(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4546614/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com