我在下面的代码挣扎,并找不到一个去解决它。该页面加载时间过长,出现“致命错误:超过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