Цикл Foreach умирает после одной итерации - PullRequest
0 голосов
/ 06 марта 2012

Я экспериментировал со ScraperWiki, и вчера я мог получить список всех li в DOM.Однако сейчас я выполняю только одну итерацию.

Это мой код

$html = 'www.blah...'
$dom = new simple_html_dom();
$dom->load($html);
print_r('Starting parse');
$events = $dom->find("ul.listing li");
print_r('Found '.count($events).' events'); // shows there are 26 nodes
foreach($events as $data){
 // perform some processing then print to the console

Я на самом деле не парень PHP, поэтому я могу упустить что-то очевидное.Полный источник в https://scraperwiki.com/scrapers/days_of_the_year/

Ответы [ 2 ]

1 голос
/ 06 марта 2012

Как очень неуклюже с моей стороны. Я упустил тот факт, что вывод был усечен после одной строки в консоли. Я добавил разрыв строки и теперь получаю ожидаемый результат.

1 голос
/ 06 марта 2012

В связанном источнике цикл foreach отличается:

foreach($events->find('li.listPost') as $data) {
    // ...
}

Это может указывать на то, что $ events является пользовательским объектом, и его нельзя перебрать без какого-либо метода получения, такого как find ().

...