Я использую simple_html_dom_helper, поэтому сделайте несколько снимков экрана и столкнулись с некоторыми ошибками.
Второй foreach запускается 4 раза (начиная с sizeof($pages) == 4
), при этом он должен запускаться только один раз. Я получил этот код из примера сценария, где table.result-liste
встречается на странице несколько раз. В моем случае это происходит только один раз, поэтому имхо нет необходимости в foreach. print_r($data)
печатает одно и то же 4 раза , и в этом нет необходимости.
Далее я пытаюсь сделать то же самое без foreach, но он просто печатает no
, поэтому, похоже, другой ответ, и я не уверен, почему.
foreach( $pages as $page )
{
$p = $this->create_url($codes[0], $price, $page); //pass page number along
$p_html = file_get_html($p);
$row = $p_html->find("table[class=result-liste] tr");
//RUNS OK BUT NO NEED TO DO IT FOUR TIMES.
//CLASS RESULT-LISTE ONLY OCCURS ONCE ANYWAY
foreach( $p_html->find("table[class=result-liste] tr") as $row)
{
//grab only rows where there is a link
if( $row->find('td a') )
{
$d_price = $this->get_price($row->first_child());
$d_propid = $this->get_prop_id($row->outertext);
$data = array(
"price" => $d_price,
"prop_id" => $d_propid
);
print_r($data);
}
}
//MY ATTEMPT TO AVOID THE SECOND FOREACH DOES NOT WORK ...
$row = $p_html->find("table[class=result-liste] tr");
if( is_object($row) && $row->find('td a')) print "yes ";
else print "no ";
}