以下是我正在使用的一行代码:
$json[JsonConstant::JSON_CUSTOM] => call_user_func(array($this, $customTypes[$customDownloadType])),
$customTypes[$customDownloadType]
可能会解析为getTags()
。
如果我想将参数传递给getTags()
,我该怎么办?例如,假设我有一个名为$time
的var,我想传入它?我该怎么办?
似乎我想要http://php.net/manual/en/function.call-user-func.php的示例2和4的混合 - 这可能吗?
由于
答案 0 :(得分:0)
call_user_func($fn, 'a', 'b', 'c'); // => $fn('a', 'b', 'c');
call_user_func_array($fn, ['a', 'b', 'c']); /// => $fn('a', 'b', 'c');
答案 1 :(得分:0)
据我了解,您不需要array($this,
部分。
代码片段让我感到困惑,因为它看起来好像你应该使用赋值运算符=
而不是=>
,因为你还事先指定了数组键...
但是,如果情况并非如此,$json[JsonConstant::JSON_CUSTOM] => call_user_func($customTypes[$customDownloadType], $time), ...
应该可以正常工作。
我还认为$customTypes[$customDownloadType]
必须返回"getTags"
,而不是"getTags()"
,尽管我可能错了。
您也可以使用变量函数:$json[JsonConstant::JSON_CUSTOM] => $customTypes[$customDownloadType]($time), ...
此致