2012-01-29 115 views
0

我敢困在這裏做什麼其他功能。我基本上是想借此進入一個函數的所有參數:調用帶參數

func1('hey', 'hey2', 'hey3'); 

,然後運行使用相同的參數FUNC2:

func2('hey', 'hey2', 'hey3'); 

我已經試過這樣:

$arguments = func_get_args(); 
call_user_func_array(array($this, "func2"), $arguments); 

但它似乎不能正常工作?有任何想法嗎?

原來的代碼應該是: $參數= func_get_args(); call_user_func_array(陣列($此, 「FUNC2」),$參數[0]);

Woops :)謝謝大家

+1

你是我們函數或方法?如果FUNC1和FUNC2都不是$這個方法,你應該只用函數名代替陣列。 – Jens 2012-01-29 16:54:46

+0

我正在使用方法。對不起,我忘了提到這一點。所以$ X-> FUNC1()將不得不調用$ X-> FUNC2() – andy 2012-01-29 16:55:53

+0

你不妨細說「似乎並不奏效。」怎麼了? – mario 2012-01-29 16:58:42

回答

1

你可以這樣做只是這樣的:

$func1 = func1('hey', 'hey2', 'hey3'); 

func1($hey, $hey2, $hey3){ 

    //func1 stuff here 

    $func2 = func2($hey, $hey2, $hey3); 

} 

func2($hey, $hey2, $hey3){ 

    //func2 stuff here 

} 

希望這有助於:)

1
function fun1(first,second,third) { 
    return fun2(first,second,third); 
} 
0

另一種方式是傳遞參數數組中的,像這樣:

function func1(array $arguments) { 
    list($hey, $hey2, $hey3, $hey4) = $arguments; 
    func2($arguments); 
} 

function func2($arguments) { 
    print_r($arguments); 
} 

$arguments = array('hey', 'hey2', 'hey3'); 

func2($arguments);