我正在研究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