我正在研究CMS,并且正在寻找将函数参数列表转换为数组的方法。例如:将函数参数列表转换为数组
function testfunction($param1, $param2){
$string = "Param1: $param1 Param2: $param2";
return $string;
}
$funcname = 'testfunction';
$params = "'this is, parameter 1', 'this is parameter2'";
//This doesnt work, sends both parameters as the first, dont know why.
echo call_user_func($funcname, $params);
//So I want to split the parameter list:
$paramsarray = preg_split('%Complex Regex%', $params);
//And call thusly:
echo call_user_func_array($funcname, $paramsarray);
我不知道在这里使用什么样的正则表达式的.... 我只能通过爆炸“”但会爆炸包含在字符串,数组等等所有逗号。所以我需要一个正则表达式来做到这一点,我认为正则表达式,但它似乎会有很多规则。
好的,我知道call_user_func_array,这个例子非常简单。函数名称和参数都是动态的,并且不是以数组的形式输入的。这就是为什么我必须将它们分成一个数组。我不知道为什么call_user_func不会为我工作,有多个参数? – Ben 2011-05-30 19:38:36