$my_object->$setValue[1](foo, bar, x, y, z....nth);
我的问题是,在setValue内部传递的值是动态的。也就是说,它可以传递尽可能多的值。我不知道这个的正确实现,我想象它是这样的,我知道它不起作用:
$my_object->$setValue[1](
for($param = 0; $param > $param_count; $param++){
}
);
Please help or you could Please me help in the right direction。谢谢。
可以使用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);
?>
Edit:要传递未知数量的参数给函数,可以使用call_user_func_array()
call_user_func_array(array($my_object, $setValue[1]), array("one", "two", ...));