我在其中放置DomElements的关联数组。我只是想从表中恢复一个单元格,所以我循环行($ materie),然后尝试为每个9列单元格提取数据。问题是$ cell [$ o] [9]-> nodeValue的结果(我放在$ DTO ['materie'] [$ o] ['prenotato']上)的结果是相同的循环:它采用第一个元素的值并保持不变。
for($o = 0; $o < sizeof($materie); $o++) {
$DTO['materie'][$o] = $materie[$o+1];
/**ROWS */
$cell = array();
$cell[$o] = $parserCommons->findElementsByTag($table[0], 'td');
$DTO['materie'][$o]['prenotato'] = $cell[$o][9]->nodeValue;
}
return $DTO;
这是函数体:
public function findElementsByTag($DOMArray, $tagName)
{
$output = $DOMArray->getElementsByTagname($tagName);
return $output;
}
答案 0 :(得分:0)
问题是电话...
$cell[$o] = $parserCommons->findElementsByTag($table[0], 'td');
因此,始终使用$parserCommons
作为查找<td>
标签的起点。因此,它将始终找到相同的字段集。
如果您的行位于$materie
中,那么我认为您需要
$cell[$o] = $materie[$o+1]->findElementsByTag($table[0], 'td');
以便它使用当前行作为起点。