2011-07-03 78 views
4

我需要通過params(如:'param1', 'param2', 'param3')的方法......但我有一系列的參數(如:)。如何將數組轉換爲params?如何將數組轉換爲方法的參數?

function foo(array $params) { 

    bar(
     // Here should be inserted params not array. 
    ); 

} 
+0

當你傳遞$ params數組時,你會知道參數名嗎? –

+0

@阿德里安,是的。你能提出一些建議嗎? – daGrevis

+0

是的。看到回答 –

回答

4

使用功能call_user_func_array

例如:

call_user_func_array('bar', $params); 
+0

我嘗試像[這](http://pastie.org/2158401),但它給了我[錯誤](http://pastie.org/2158405)。 – daGrevis

+0

我想你給$ data傳遞了一個字符串。 – ComFreek

+0

沒有。 'list_users(array('username','email'),10,0);' – daGrevis

2

如果你知道你可以帕拉姆名稱下面

$params = array(
    'param1' => 'value 1', 
    'param2' => 'value 2', 
    'param3' => 'value 3', 
); 

function foo(array $someParams) { 
    extract($someParams); // this will create variables based on the keys 

    bar($param1,$param2,$param3); 
} 

不知道這是你腦子裏想的是什麼。

+0

@daGrevis:tks的推文 –

+0

沒問題,朋友。 – daGrevis