2016-04-25 135 views
3

我正在制作一个控制器,它调用了一个类中的不同方法,并且我想尽可能通用。目前,我有这样的代码:传递一个数组作为参数

//More code up, just showing the important code part 
$geo = new Geolocation(); 
$res = $geo->{$method}(...$params); 

echo json_encode($res); 

我要的是传递一个数组作为参数传递给我的Geolocation类。

我把一个想法从一个线程:Passing an Array as Arguments, not an Array, in PHP

的问题是,“图示操作” ...工作不适合我,可能是因为它不是一个功能。有没有相关的解决方案?

PHP 5.6.20

+3

“不工作”是不是一个有用的声明。请更具体一些。 –

+0

顺便说一句,对我有用https://3v4l.org/i9n28 –

+0

@JonStirling:猜我应该等待_“Not working”的答案_ – AbraCadaver

回答

2

为你链接显示call_user_func_array()问题的第一个答案,所以用一个对象的方法做:

$res = call_user_func_array(array($geo, $method), $params); 
+0

哦问题,谢谢,我只是超越了这个答案。 – jonilgz