有没有办法将关联数组转换为函数的参数。
我有一个简单的数组,比如:
$arr = [
'id' => 321654,
'name' => 'action1'
];
我在一个类中有一个静态函数:
class someclass{
static function someFunction( $id, $name ){
//the rest of the method
}
}
我可以通过变量调用类,例如:
$class = 'someclass';
$method = 'somFunction';
return $class::$method( );
我也可以通过是在一定数量的函数参数,或数组
return $class::$method( $arr );
在这个例子中,我可以将参数硬编码为:
return $class::$method( $arr['id'], $arr['name'] );
但是我该如何传递数量未知的钥匙呢。另一次运行可能包含1个键或4或10…
感谢@Rizier123评论:
这非常有效:
call_user_func_array( ''.$class.'::'.$method, $arr );