2012-01-15 4 views
0

문자열을 사용한 후에 사용 된 데이터의 메모리와 검증을 위해 배열을 사용해야하는 재귀 함수가 있습니다. 사용 된 것을 기억하고 싶습니다. 다음 반복에서 해당 문자열을 다시 이동하십시오. 문제는 첫 번째 반복 후 배열이 NULL로 간주됩니다.재귀 함수의 배열

내 질문은 이것입니다 : 어떻게 재귀 함수에서 배열을 전달합니까? 또는 어떻게 재귀 함수에서 배열 작업합니까?

나는 이것을 여기에서 보았고 많은 비슷한 질문이 있지만 아무 것도 대답하지 않았다.

참고 : 루프를 사용하여 재귀를 수행 할 수있는 모든 작업을 수행 할 수 있다는 것을 알고 있습니다. 아직 ...이 기능입니다. 내가 2 반복에 언급 한 것처럼 그리고 배열은 NULL로 간주하고 내가이 경고를 얻을 수있다 :() 매개 변수 1가 null에 ... 여기

지정된 배열 될 것으로 예상

array_push을의 논리입니다 함수 :

// Set Vars... 
$Str = 'someData'; 
$S_Array = array(); 

// initial call... 
GetData($Str, $S_Array); 

function GetData ($string, $array) 
{ 
    // string manipulations code... 

    . 
    . 
    . 
    . 
    // Attempt to Store in array 

    array_push($array, $string); 
    foreach ($array as $val) { 
     // Recursive Call... 

     GetData($val, $array); 
    } 
} 
+0

을 달성 할 수 있기 때문에 전혀 array_push을 사용할 필요는 당신이 재귀 호출에 $의이 배열 대신 $ 배열을 통과 한 실수인가, 정말 없다? – ivanjovanovic

+0

"미리 감사드립니다." 후행 "d"없음. –

답변

0

잘못된 번호 - 인수의 순서가 바뀝니다. 같은 결과가

$array[] = $string; 
+0

@ivanjovanovic 구문 오류로 유감입니다. 오해의 소지가있었습니다. 나는 방금 내 코드를 편집했다. 다시 한번 업데이트 코드에서 peals를 보아라. – RmH

+0

이것은 오타였다.이 코드는 정확하게 배치했다.이 포스트를 업데이트했다. 다시 나는 아주 위대하다. – RmH