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 Спасибо=) Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.