我在下面的代碼掙扎,並找不到一個去解決它。該頁面加載時間過長,出現「致命錯誤:超過30秒的最大執行時間」錯誤。PHP while while循環執行時間
也許有人可以解釋或給出建議?
<?php
$i = 1;
$s = 1;
$limit = 21;
$seasons = 6;
while ($s < $seasons) {
if ($s < 10) {
$s = '0' . $s;
}
while ($i < $limit) {
if ($i < 10) {
$i = '0' . $i;
}
echo '<input type="checkbox" value="S' . $s . 'E' . $i . '" name="rate"/>S' . $s . 'E' . $i . '<br/>';
++$i;
}
}
?>
謝謝
UPDATE:
添加$ S ++之後;在firt循環結束時,代碼解決了錯誤和長負載問題,但它只運行一次,不考慮$ seasons = 6的情況。任何想法爲什麼會發生?我試圖刪除0字頭的,它仍然不循環,直到6
UPDATE:放置在功能 問題解決了,第二個循環和它的工作。謝謝大家!。
最終版本
<?php
$s = 1;
$limit = 21;
$seasons = 7;
while ($s < $seasons) {
if ($s < 10) {
$s = '0' . $s;
}
episodes($s,$limit);
$s++;
}
function episodes($s,$limit){
$i = 1;
while ($i < $limit) {
if ($i < 10) {
$i = '0' . $i;
}
echo '<input type="checkbox" value="S' . $s . 'E' . $i . '" name="rate"/>S' . $s . 'E' . $i . '<br/>';
++$i;
}
}
?>
你是不是增加'$ s'任何地方,所以它總是** **要低於'$ seasons'(無盡循環)。你在它的開頭添加了一個零,但是這不影響循環......那個零應該在最後? –
@scrowler謝謝。增加S解決了長時間加載頁面問題,沒有錯誤顯示,但第一個循環只運行一次,爲什麼它不會運行5次,因爲$ seasons = 6 – devjs11