我想要一个接受参数的 PHP 函数A
,我已经给出了类型提示callable
。麻烦的是在某些情况下我希望能够传递NULL
或类似的东西,作为参数值,表明尚未提供回调。我收到以下错误:
"Argument must be callable, NULL given".
请问有什么想法可以实现吗?
为了回应发布的答案和问题......
PHP版本是5.4.14
代码是...
class DB
{
protected function ExecuteReal($sqlStr, array $replacements, callable $userFunc, $allowSensitiveKeyword)
{
...
if( $userFunc != NULL && is_callable($userFunc) )
$returnResult = $call_user_func($userFunc, $currRow);
...
}
...
public function DoSomething(...)
{
$result = $this->ExecuteReal($queryStr, Array(), NULL, TRUE);
...
}
}
在上面的代码片段中,我不需要使用任何数据进行回调,因此我无需传入可调用对象,而是传入 NULL。但这是错误消息的原因。
解决方案是下面的答案......谢谢大家:)