Php 将参数从一个函数传递到另一个函数
我有类似的东西Php 将参数从一个函数传递到另一个函数,php,function,arguments,Php,Function,Arguments,我有类似的东西 function f1($name = ''){ f2("prefix_{$name}", $args); } f1()函数的调用方式如下: f1('name',$var1,$var2,$var3) 如何将这些变量传递给其中的f2(),与传递给f1()的方式相同 因此,用$args代替f2(“前缀{$name}”) 它应该像f2(“前缀{$name}”,$var1、$var2、$var3) 并不是说我无法控制f2函数:(常规函数get_args()将不考虑任何默
function f1($name = ''){
f2("prefix_{$name}", $args);
}
f1()函数的调用方式如下:
f1('name',$var1,$var2,$var3)代码>
如何将这些变量传递给其中的f2(),与传递给f1()的方式相同
因此,用$args代替f2(“前缀{$name}”)代码>
它应该像f2(“前缀{$name}”,$var1、$var2、$var3)代码>
并不是说我无法控制f2函数:(常规函数get_args()将不考虑任何默认参数,因此需要执行以下操作:
function func_get_default_args($a) {
$args = array_slice(func_get_args(), 1);
return array_merge($args, array_slice($a, sizeof($args)));
}
function f1($name = ''){
call_user_func_array('f2', func_get_default_args(func_get_args(), $name));
}
编辑:
取代
与
解释什么
function f1( $name = '' )
{
// get all arguments to this function
$args = func_get_args();
// prefix the first arguments with some prefix
$args[ 0 ] = 'prefix_' . $name;
// call the second function with the $args array as its arguments
call_user_func_array( 'f2', $args );
}
$args[ 0 ] = 'prefix_' . $args[ 0 ];
$args[ 0 ] = 'prefix_' . $name;