2012-07-22 4 views
0

는이 코드가 있습니다연관 배열 배열을 에코하려면 어떻게해야합니까?

foreach($html->find('ul.results') as $article) { 
      $item['date']  = $article->find('span.result_date', 0)->plaintext; 
      $item['title'] = $article->find('a.result_title', 0); 
      $item['text'] = $article->find('span.result_text', 0)->plaintext; 
      $item['read'] = $article->find('a.read_more', 0); 
      $articles[] = $item; 
    } 
     foreach ($articles as &$item) { 
      while ($i < 5) { 
       echo $item['date']."&nbsp;&nbsp;&nbsp;"; 
       echo $item['title'].'</br>'; 
       echo $item['text']."&nbsp;"; 
       echo $item['read'].'</br></br>'; 
      $i++; 
     } 
    } 

을 그리고 결과를 반향하는 것을 시도하고있다. 지금 두 번째 foreach는 아무 것도하지 않습니다. 동일한 기사 5 개를 표시하는 것입니다. 기사는 날짜, 제목, 텍스트 등의 형식으로되어 있습니다. 나는 처음 다섯 $ 기사를 에코하려고 노력하고 있지만 print_r이 아닌 적절한 방법을 찾을 수는 없습니다.

+0

을 아니오 $ i의 전체 요점은 처음 다섯 개의 $ 기사를 제공하는 것입니다 만, 현재의 코드는 지금도 같은 기사를 반복하고 있습니다. 내게 두 번째 가치를 부여하지 않습니다. 문제는 각각의 항목이 에코되는 동안 그런 식으로 서식을 지정해야한다는 것입니다. –

+0

왜 '& $ item'이 필요한가요? –

+0

몇 개의 청크에있는 코드를 파싱 중입니다. 각 제목, 텍스트, 날짜 등을 $ article의 한 배열에 저장하고 있습니다. 나는 처음 다섯 기사를 보여줄 필요가있다. –

답변

1

5 회 첫 번째 요소의 각 것이다 단지 루프 내부 전체 루프, 다음 요소로 이동하고 5 번 루프 등

이 같은 시도 :

$i = 0; 
foreach ($articles as $item){ 
    echo items stuff... 
    $i++; 
    if ($i == 5) break; 
}