假设我有一个函数addUp
,它接受任意数量的十进制参数并返回它们全部相加的结果。
如果我有以下功能:
function myTest(){
$args = func_get_args();
return addUp($args);
}
如果我myTest(1,2,3)
显然调用这将不起作用,因为我只传递一个参数addUp
,那就是一个数组。
有没有办法将传入的所有参数传递myTest
给addUp
函数(不编辑addUp
函数)?
假设我有一个函数addUp
,它接受任意数量的十进制参数并返回它们全部相加的结果。
如果我有以下功能:
function myTest(){
$args = func_get_args();
return addUp($args);
}
如果我myTest(1,2,3)
显然调用这将不起作用,因为我只传递一个参数addUp
,那就是一个数组。
有没有办法将传入的所有参数传递myTest
给addUp
函数(不编辑addUp
函数)?
你可以使用call_user_func_array
它使用从数组派生的参数调用一个函数(这是您从中得到的func_get_args()
)。
您可以传入一个数组,然后遍历它。
$args = array(1, 2, 3, 4);
function myTest($arr){
$r = 0;
foreach($arr as $value){
$r += intval($value);
}
return $r;
}
echo myTest($args);