0

早上,我有一个脚本,它正在调用数据库中的条目,实际上是它们的历史记录,然后在表格中显示条目,现在为了创建表格,我使用一个非常大的 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
4

1 回答 1

4

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

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

于 2013-02-22T16:40:21.553 回答