设置
我正在访问这个网址:<host>/render/z63034/RBLR/GLZB。
我的 url 模式是这样的:/render/[a:title]/[a:bpFrom]/[a:bpTo].
我的路线是这样添加的:
$router->map("GET", "/render/[a:title]/[a:bpFrom]/[a:bpTo]", function ($params) { include __DIR__ . "/views/render.php"; }, "render");
然后调用如下所示:
call_user_func_array($match['target'], $match['params']);
在我的index.php(所有请求都被路由到的地方)中,avar_dump()产生$match['params']了预期的:
array(3) {
["title"]=>
string(6) "z63034"
["bpFrom"]=>
string(4) "RBLR"
["bpTo"]=>
string(4) "GLZB"
}
在我的render.php(包括在内的)var_dump()中$params产生了意想不到的结果
string(6) "z63034"
问题
为什么只有我传递给的数组中的第一个元素call_user_func_array实际传递(不是作为数组,而是作为值本身)?