对于没有增加的foreach而言

时间:2015-12-29 11:00:24

标签: php loops foreach int

我正在创建一个包含很多内容的处方集,而且我的foreach是一个简单的问题。

这是我的代码:

    foreach($aDonnes['Grilles'][$iGrilleId] as $iCptGrille){
       $sHtml .='<tr><td class="grille">'.($sGrilleLib=$aDonnes['Grilles'][$iCptGrille][1]).'</tr></td>';
       $aDonnes['Domaines']=$oRolling->find_domaines($iCptGrille);
    if ($iCptGrille < $aDonnes['Grilles'].length) {
        $iCptGrille++;
    }

    // Several nested foreach

我尝试过没有if条件或其他任何东西,当我查看日志时它仍然没有增加,它只是反复做同样的事情。

如果您有任何问题,请随时提出。

注意:$ iCptGrille是我的int,它不会增加,而且aDonnes是一个包含大量数据的数组,在我们的例子中,这是我的表的每个ID,称为&#34; Grille&# 34;我想循环。

2 个答案:

答案 0 :(得分:0)

如果您正在检查2D数组,我认为foreach输入应为:

foreach($aDonnes['Grilles'] as $iCptGrille){...}

此外,计数器名称与对象项目$ iCptGrille具有相同的名称,这是没有意义的。

此外,您可以尝试在foreach阻止之前将计数器初始化为0,如果不需要,则删除“if”语句。

对于更深入的调查,您可以在foreach块内使用某种标记(例如echo 'entered';),以确保它进入foreach块。

我希望它有所帮助。

答案 1 :(得分:0)

正如Answers_Seeker所说,“这是范围问题:使用as关键字会复制实际的数组元素。”