duanjian3920 2018-11-01 13:58
浏览 32

关联数组循环相同的值

I have an associative array where i put DomElements. I want just recovers a cell from a table so i loop the rows($materie) and i try to extract for each the 9 column cell. The problem is that the result of the $cell[$o][9]->nodeValue ( that i put on $DTO['materie'][$o]['prenotato']) is the same for each turn of the loop: it take the value of the first element and keep the same.

   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;

this is the function body:

public function findElementsByTag($DOMArray, $tagName)
{
    $output = $DOMArray->getElementsByTagname($tagName);
    return $output;
}
  • 写回答

1条回答 默认 最新

  • doucong6884 2018-11-01 14:02
    关注

    The problem is the call ...

    $cell[$o] = $parserCommons->findElementsByTag($table[0], 'td');
    

    So it is always using $parserCommons as the start point to find the <td> tags. So this will always find the same set of fields.

    If your rows are in $materie, then I think you need

    $cell[$o] = $materie[$o+1]->findElementsByTag($table[0], 'td');
    

    so that it uses the current row for the start point.

    评论

报告相同问题?

悬赏问题

  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 划分vlan后不通了
  • ¥15 GDI处理通道视频时总是带有白色锯齿
  • ¥20 用雷电模拟器安装百达屋apk一直闪退
  • ¥15 算能科技20240506咨询(拒绝大模型回答)
  • ¥15 自适应 AR 模型 参数估计Matlab程序
  • ¥100 角动量包络面如何用MATLAB绘制
  • ¥15 merge函数占用内存过大
  • ¥15 使用EMD去噪处理RML2016数据集时候的原理
  • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大