2012-01-29 2 views
0

나는 무엇을해야할 지 잘 모르겠다.다른 함수를 인자로 호출하기

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

다음 동일한 인수 FUNC2을 실행합니다 : 나는 기본적 기능 하나에 입력 한 모든 인수를 할

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

내가 해봤이 :

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

하지만, 올바르게 작동하지 않는 것 같습니까? 어떤 아이디어?

코드는 다음과 같아야합니다. $ arguments = func_get_args(); call_user_func_array (array ($ this, "func2"), $ arguments [0]);

Woops :) 모두에게 감사

+1

우리 가세요? 함수 또는 메소드를 작성 하시겠습니까? func1과 func2가 $ this의 메소드가 아니면 배열을 함수 이름으로 바꿔야합니다. – Jens

+0

나는 방법을 사용하고 있습니다. 죄송 합니다만 언급하는 것을 잊어 버렸습니다. 따라서 $ x-> func1()은 $ x-> func2()를 호출해야합니다. – andy

+0

"작동하지 않는 것 같습니다." 무슨 일이야? – mario

답변

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); 
관련 문제