設定
この URL にアクセスしています: <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
(すべてのリクエストがルーティングされる場所)では、予想される結果var_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
実際に渡されるのはなぜですか (配列としてではなく、値自体として)。