设置
我正在访问这个网址:<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
实际传递(不是作为数组,而是作为值本身)?