2014-12-18 3 views
0

잘 모르겠지만 몇 가지 뇌 스턴트를 잡았지만 계속 진행하는 방법에 대해서는 두뇌를 할 수 없습니다.PHP 조건이 충족 될 때까지 무한 루프

나는 많은 코드를 가지고 있으며 나중에 무한 루프에 넣어야한다는 것을 깨닫는다. 객관적 컬 -> 프로세스 데이터 -> "다음 url"이 비어 있지 않으면 컬을 다시 반복하십시오.

현재 상황 :

// Call curl function here and bind to variable $result 
$result = curl_blabla; 

// Process data 
.... 
.... 

// Check next url 
if(!empty($result->next_url)){} // Failed to brain how to do infinite loop here. 
+0

는 간단한 재귀 논리가 아니입니까? – Raptor

답변

1

이 시도 :

while (true) { 
    $result = curl_blabla; 
    // Process data 
    .... 
    .... 
    // Check next url 
    if(empty($result->next_url)){ break; } 
} 

또는이 :

$has_next_url = true; 
while ($has_next_url) { 
    $result = curl_blabla; 
    // Process data 
    .... 
    .... 
    // Check next url 
    $has_next_url = empty($result->next_url); 
} 
+0

감사합니다. 첫 번째 해결책은보다 전문적이고 깨끗한 것 같습니다. –

1
while(!$whatIDontHaveYet){ 
    $IHaveIt = true; 
    // ... process data 
    $whatIDontHaveYet = $IHaveIt; 
} 

루프는 제목에서 말한 않지만. 함수의

3

재귀 호출 :

function loadURL($url) { 
    // curl stuff, handle is $ch 
    $result = curl_exec($ch); 
    if(!empty($result->next_url)) { 
    loadURL($result->next_url); 
    } 
} 

loadURL($initial_url); 
관련 문제