不太確定如何更好地標題。PHP:調用數組的方法?
我需要做的就是用call_user_func調用一個方法。我調用的方法接受幾個不同的變量(var1,var2,var3等),而不是數組。問題是,當調用函數時,我需要將數組作爲單獨變量傳遞給方法。我來給你展示。
這裏是我的方法:
class Test {
public function testing_cronjob($p1, $p2, $p3, $p4, $p5) {
echo 'p1 = ' . $p1 . '<br />';
echo 'p1 = ' . $p2 . '<br />';
echo 'p1 = ' . $p3 . '<br />';
echo 'p1 = ' . $p4 . '<br />';
echo 'p1 = ' . $p5 . '<br />';
}
}
而以下是我目前(嘗試)來調用它:
$obj = new Test();
call_user_func(array($obj, 'testing_cronjob'), $params);
的方法運行,但只得到一個變量,它是不是我想。
$ PARAMS是這樣的:
$params = array(
0 => 'first one',
1 => 'second one',
2 => 'third param!',
3 => 'oh and im fourth!!',
4 => 'im last, fml! :('
)
我讓自己陷入到這種情況的方式,是因爲我創建一個cronjob模型。它接受參數以及類和方法名稱。它全部存儲在數據庫中,當它運行時,我需要能夠按照預期將$ params發送到方法。
我不能重寫方法如何接受變量,因爲這將是太多的工作。我將從cronjob調用幾個(10+)方法,所有這些方法在應用程序中都很好用。我也不確定我會如何重寫它,但如果您對此有任何建議,請告訴我。
此外,我使用codeigniter如果重要。如果我忘記提及任何內容或想要更多代碼,只需發表評論即可。
這可能嗎?有沒有解決方法?歡迎任何建議!
http://php.net/manual/en/function.call-user-func-array.php – bfavaretto