for循环保持超时,但它看起来很好

时间:2013-02-22 16:38:29

标签: php for-loop

早上,我有一个脚本,它正在调用数据库中的条目,实际上是它们的历史,然后在表格中显示条目,现在为了使用一个非常大的for循环创建表格进行比较并添加结果。但是由于某种原因它在30秒之后超时(循环没有进行那么多循环)我已经确定原因是第一个内循环的问题,因为那里的echo语句只是在循环的持续时间内重复,它永远不会离开。任何想法?

for($i = 1; $i <= $FirstCount; $i++)
    {

    $HistoryTable .= "<tr>";
        if($i = 1)
        {
            for($j = 0; $j < $ThirdCount; $j++)
            {
                if($EntryTwo[0][$j+1] == $EntryOne[$j])
                {
                    $HistoryTable .= "<td></td>";
                }       
                else
                {
                    $HistoryTable .= "<td>".$EntryTwo[0][$j+1]."</td>";
                }
            echo    $EntryTwo[0][$j+1].' == '.$EntryOne[$j];
            }
        }
        else
        {
            $first = 0;
            $second = 1;
            for($k = 1; $k <= $SecondCount; $k++)
            { 
                if($EntryTwo[$first][$k] == $EntryTwo[$second][$k])
                {
                    $HistoryTable .= "<td>".$EntryTwo[$second][$k]."</td>";
                }
                else
                {
                    $HistoryTable .= "<td></td>";
                }
            $first++;
            $second++;
            }
        unset($k);
        unset($first);
        unset($second); 
        }
    $HistoryTable .= "</tr>";
    }

变量:

$FirstCount = 4;
$SecondCount = 18
$ThirdCount = 17

1 个答案:

答案 0 :(得分:4)

if($i = 1)每次都将$i设置为1,所以这是一个无限循环。

你想要的是if ($i == 1)