【发布时间】:2010-12-28 14:03:30
【问题描述】:
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
)
【问题讨论】:
-
如果你只是在那里写了函数名称,它应该可以工作,“doSomeWork”
-
array($this, $this->func)将起作用,当传递一个对象时,您需要传入一个数组,其中第一个 arg 是对象,第二个是该对象中的方法array([object[],function])