【发布时间】:2013-04-15 17:42:27
【问题描述】:
我想要一个接受参数A 的PHP 函数,我已经给出了类型提示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);
...
}
}
在上面的代码 sn-p 中,我不需要用任何数据回调,所以我没有传入可调用对象,而是传入 NULL。但这是错误消息的原因。
解决方案是下面的答案...谢谢大家:)
【问题讨论】:
-
你能把代码贴出来吗?
-
是的,到目前为止你做了什么?什么会调用此错误消息?
-
你用的Witch PHP版本?
标签: php default-value type-hinting