2014-04-29 3 views
1

실행 루프와 내부 루프에 루프 내부의 데이터 처리 기능이 있습니다.php는 루프를 반복하면서 결과를 에코합니다.

for($i = 0 ; $i <=680 ; $i = $i + 40) 
    { 
      $url = 'http://www.yelp.com/biz/franchino-san-francisco?start=80'; 
      $root = yelp($url); 
      var_dump($root); 
    } 

이 루프는 실행하는 데 시간이 오래 걸리고 전체 루프가 완료되면 결과가 에코됩니다.

매 반복마다 어떻게 결과를 에코 할 수 있습니까?

실제로 여기서 어떻게됩니까? 결과가 버퍼에 저장되고 결국 에코 또는 뭐라구?

+1

을, 당신은 위해서 var_dump ($ 루트)를 쓴, 그래서 결과를 인쇄합니다. 매번 글을 쓰고 싶다면 끝에있는 print_r 또는 echo 명령을 사용하십시오. – KinjalMistry

+1

@ user3540050 네,하지만 모든 루프를 인쇄하고 싶습니다. 그러나 그것은 한 번 인쇄됩니다. –

+0

그리고 또 다른 한 가지는 루프에서 제 3 자 API 호출을 호출하므로 써드 파티 URL을 호출 할 때마다 루프를 진행하는 데 약간의 시간이 걸립니다. – KinjalMistry

답변

4

PHP는 출력을 버퍼링합니다. 브라우저에 출력 물건하려면

바로 당신이 flush()ob_flush() 기능을 사용할 수 있습니다 : 루프의 끝에서

for ($i = 0; $i <= 680; $i += 40) { 
    $url = 'http://www.yelp.com/biz/franchino-san-francisco?start=80'; 
    $root = yelp($url); 
    var_dump($root); 
    flush(); 
    ob_flush(); 
} 
+0

덕분에 도움이되었습니다. – user123

+0

3 분 남겨두고 대답했습니다. 이 대기열이 다른 사람들을 도울 것이라고 생각한다면 – user123

1

웹 페이지를 통해 PHP를 실행하는 경우 이는 문제가 될 수 있습니다.

PHP는 서버 측 언어이며 클라이언트에 출력을 표시하기 전에 모든 코드가 실행됩니다. 당신은 루프 내에서 결과를 표시하려면

Here 것은 당신이 커맨드와 PHP를 사용하는 데 도움이됩니다 뭔가를보다 효율적으로 사용하는 콘솔/cmd를 (명령 행),

을 (브라우저를 사용).

관련 문제