有没有可能做这样的事情。假设我们有一个接受字符串作为参数的函数。但是要提供这个字符串,我们必须对数据进行一些处理。所以我决定使用闭包,就像在 JS 中一样:
function i_accept_str($str) {
// do something with str
}
$someOutsideScopeVar = array(1,2,3);
i_accept_str((function() {
// do stuff with the $someOutsideScopeVar
$result = implode(',', $someOutsideScopeVar); // this is silly example
return $result;
})());
这个想法是在调用i_accept_str()
时能够直接提供字符串结果......我可能可以做到这一点,call_user_func
已知它是无效的,但有其他选择吗?
PHP 5.3 和 PHP 5.4 解决方案都被接受(上述想要的行为已经过测试并且不适用于 PHP 5.3,但可能适用于 PHP 5.4...)。