显然这是非常糟糕的代码,但我想不出如何改进它。“测试”功能根本无法更改,但其余的都可以。
我想将一组值传递给一个操作测试函数的函数。关键是我需要在测试函数中使用所有预定义的函数变量值而不重新声明它们。
我不能直接操作测试功能,它必须通过另一个功能。
这只是一个更大问题的演示,但解决这个问题肯定会解决我的问题。如果做不到,我需要完全重新考虑很多事情。
function test($p1, $p2="hello", $p3=5, $p4=true) {
}
--
function action($vars = array()) {
$count = count($vars);
switch($count) {
case 1:
$result = test($vars[0]);
break;
case 2:
$result = test($vars[0], $vars[1]);
break;
case 3:
$result = test($vars[0], $vars[1], $vars[2]);
break;
case 4:
$result = test($vars[0], $vars[1], $vars[2], $vars[3]);
break;
}
return $result;
}
--
action(array(1, "test"));