this.wrapped
和array_map
之类的PHP函数采用一个数组,并将一个函数作为参数。
EG:
array_filter
是否可以通过相同的方式传递标准php函数?
与$result = array_map(function (el) {
// do stuff
}, $elements)
相似的事物
编辑
上面的示例抛出错误$result = array_map(boolval, $elements)
答案 0 :(得分:1)
答案 1 :(得分:1)
通常,您只需运行
$result = array_map('functionName', $array);
如果是类函数,则必须在数组中传递对象实例和函数名称。
$result = array_map([$objectInstance, 'functionName'], $array);
如果函数在同一类中,则
$result = array_map([$this, 'functionName'], $array);
答案 2 :(得分:0)
如果有任何使用callable
作为参数的函数,则PHP函数将以其名称作为字符串传递。并且可以使用任何PHP built-in
或user-defined
函数,除了诸如array()
,echo
,empty()
,eval()
,{{ 1}},exit()
,isset()
,list()
或print
。您可以在PHP Callbacks/Callables处阅读更多内容。
您可以通过以下方式调用任何函数:将其名称作为unset()
的第一个参数,并将第二个参数传递给带有要调用的函数采用的参数的数组
call_user_func_array