朝、データベースからエントリを呼び出し、実際にはその履歴を取得し、テーブルにエントリを表示するスクリプトがあります。これは、非常に大きな for ループを使用して比較を行い、結果を追加するテーブルを作成するためです。 .しかし、何らかの理由で 30 秒後にタイムアウトになっています (ループはそれほど多くのサイクルを行いません)。原因は最初の内部ループの問題であると判断しました。ループの期間、それを離れることはありません。何か案は?
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