PHP如何动态传入参数

许多PHP框架能实现把URL中的数据,按照键值对动态解析传入方法的参数中。
例如:

//访问链接:“....../prints/a/123/b/456/”
/*对应function*/
function prints($a,$b)
{
    echo $a . $b;;
}
//最后输出'123456'

我刚开始想到的是利用可变参数,把URL数据解析成数组,作为可变参数传进去

//解析URL,过程省略
$func_name = ******;//方法名
$par_arr = [******];//将参数解析为关联数组
if (function_exists($func_name)) {
    $func_name(...$par_arr);
}

最后运行却得到报错,大致意思是不支持传入关联数组。也就是说,用可变参数的方法能实现参数按顺序传入,但不能按键值对传入。

然后我去翻了翻ThinkPHP,看了好久也没看出什么名堂。有没有哪位高手知道如何实现按照键值对动态传入参数,希望能给个Demo或者思路,非常感谢!

哆啦的时光机
浏览 470回答 5
5回答

慕森卡

你参数传数组的话,还需要可变参数做什么?参数就定义为一个数组就行了,你想往数组里放什么就放什么。 另外,这个问题与ThinkPHP没有什么关系。
打开App,查看更多内容
随时随地看视频慕课网APP