PriN_ce Опубликовано 30 декабря, 2009 Жалоба Поделиться Опубликовано 30 декабря, 2009 Привет всем :) Вопрос такой, предположим у меня есть цикл for, в теле которого выполняются какие-то операции, как мне сделать такую вещь, что если например, на 4 шаге тело выполняется больше 5 секунд, то переходим к следующей итерации, т.е: for ($i=0; $i<100; $i++) { // ....bla bla bla ..... if (время выполнения скрипта > 10c) continue;} set_time_limit (n секунд); останавливает сам сценарий, а мне не нужно сразу выходить из него; :) Подскажите как решить задачу) Ссылка на комментарий Поделиться на другие сайты Поделиться
XAKEPok Опубликовано 2 января, 2010 Жалоба Поделиться Опубликовано 2 января, 2010 Пишу что называется на горячую руку поэтому за работоспособность не ручаюсь. for ($i=0; $i<100; $i++) {//Считываем текущее время $mtime = microtime(); //Разделяем секунды и миллисекунды $mtime = explode(" ",$mtime); //Составляем одно число из секунд и миллисекунд $mtime = $mtime[1] + $mtime[0]; //Записываем стартовое время в переменную $tstart = $mtime;$totaltime = 0;while ($totaltime < 5) { // ....bla bla bla .....//Делаем все то же самое, чтобы получить текущее время $mtime = microtime(); $mtime = explode(" ",$mtime); $mtime = $mtime[1] + $mtime[0]; //Записываем время окончания в другую переменную $tend = $mtime; //Вычисляем разницу $totaltime = ($tend - $tstart);}} В переменной $totaltime хранится время выполнения кода. Проверить сейчас не имею возможности, поэтому за работоспособность не ручаюсь. Часть кода взята отсюда Ссылка на комментарий Поделиться на другие сайты Поделиться
XAKEPok Опубликовано 3 января, 2010 Жалоба Поделиться Опубликовано 3 января, 2010 while ($totaltime < 5) Сори, тока в ванную когда пошёл сообразил)) Нужен не цикл while а условие if, иначе зациклится цикл на бесконечности Ссылка на комментарий Поделиться на другие сайты Поделиться
PriN_ce Опубликовано 3 января, 2010 Автор Жалоба Поделиться Опубликовано 3 января, 2010 Спасибо=) Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти