Я борюсь со следующим кодом и не могу найти его, чтобы исправить его. Страница загружается слишком долго, и появляется ошибка «Неустранимая ошибка: максимальное время выполнения 30 секунд».PHP во время выполнения цикла
Возможно, кто-то может объяснить или дать совет?
<?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: проблема решена, второй цикл помещается в функцию, и она работала. Спасибо всем!.
FINAL VERSION
<?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