$my_object->$setValue[1](foo, bar, x, y, z....nth);
我的问题是,在setValue中传递的值是动态的。意思是,它可以传递尽可能多的值。我不知道这个的正确实现,我想像这样,我知道它不起作用:
$my_object->$setValue[1](
for($param = 0; $param > $param_count; $param++){
}
);
请帮忙或者请你帮我指点正确的方向。感谢。
答案 0 :(得分:1)
您可以使用func_num_args()
和func_get_args()
功能。例如:
<?php
function foo()
{
$numargs = func_num_args();
echo "Number of arguments: $numargs<br />\n";
if ($numargs >= 2) {
echo "Second argument is: " . func_get_arg(1) . "<br />\n";
}
$arg_list = func_get_args();
for ($i = 0; $i < $numargs; $i++) {
echo "Argument $i is: " . $arg_list[$i] . "<br />\n";
}
}
foo(1, 2, 3);
?>
修改:要将未知数量的参数传递给函数,您可以使用call_user_func_array()
call_user_func_array(array($my_object, $setValue[1]), array("one", "two", ...));