PHP 函数中的动态参数传递
在 PHP 中,可以使用 func_num_args() 和 创建接受可变数量参数的函数func_get_args()。但是,如果参数的数量取决于数组的长度,则指定传递给此类函数的参数可能会很困难。
利用 call_user_func_array
幸运的是,PHP 提供了 call_user_func_array 函数,它允许您使用参数数组调用函数。如果要传递的参数个数由数组长度决定,可以将其封装成数组,作为call_user_func_array的第二个参数。
示例
考虑以下函数:
function test() { var_dump(func_num_args()); var_dump(func_get_args()); }
要使用数组中的不同参数调用它,您可以执行以下操作:
$params = array( 10, 'glop', 'test', ); call_user_func_array('test', $params);
输出
int 3 array 0 => int 10 1 => string 'glop' (length=4) 2 => string 'test' (length=4)
这表明该函数已接收三个参数,就好像它是通过以下方式显式调用的:
test(10, 'glop', 'test');
以上是如何根据数组的长度向 PHP 函数传递可变数量的参数?的详细内容。更多信息请关注PHP中文网其他相关文章!