Php 根据数组中的对象/字符串填充函数构造函数
我有一个数组,其中包含我想在函数中使用的字符串/对象Php 根据数组中的对象/字符串填充函数构造函数,php,Php,我有一个数组,其中包含我想在函数中使用的字符串/对象 $args = ['hello', $object]; 现在我使用call_user_func从第二个类执行静态函数 call_user_func([Handler::class, 'func']); 此代码引发错误,因为函数“func”在其构造函数中需要2个参数,但它是空的 所以我想让它看起来像这样 call_user_func([Handler::class, 'func'], 'hello', $object); 数组$args可
$args = ['hello', $object];
现在我使用call_user_func从第二个类执行静态函数
call_user_func([Handler::class, 'func']);
此代码引发错误,因为函数“func”在其构造函数中需要2个参数,但它是空的
所以我想让它看起来像这样
call_user_func([Handler::class, 'func'], 'hello', $object);
数组$args可以包含不同数量的字符串/对象。您应该使用的函数是
call\u user\u func\u Array()
混合调用用户函数数组(可调用$callback,数组$param\u arr)
使用param_arr中的参数调用第一个参数给出的回调
因此,在你的情况下:
call_user_func_array([Handler::class, 'func'], ['hello', $object]);
其中,hello
是第一个参数,$object
是第二个参数
这样做的好处是,$param_arr
的长度可以是可变的,其中,call_user_func
中的参数必须逐个输入,因此它们是固定长度的。这正是您想要的Array$args可以包含不同数量的字符串/对象。
因此,只要用
$args
数组替换$param\u arr
,您就可以全部设置好了。您应该使用的函数是调用用户函数数组()
混合调用用户函数数组(可调用$callback,数组$param\u arr)
使用param_arr中的参数调用第一个参数给出的回调
因此,在你的情况下:
call_user_func_array([Handler::class, 'func'], ['hello', $object]);
其中,hello
是第一个参数,$object
是第二个参数
这样做的好处是,$param_arr
的长度可以是可变的,其中,call_user_func
中的参数必须逐个输入,因此它们是固定长度的。这正是您想要的Array$args可以包含不同数量的字符串/对象。
因此,只要用$args
数组替换$param\u arr
就可以了。试试调用用户函数数组
试试调用用户函数数组