Перейти к содержанию
СофтФорум - всё о компьютерах и не только

время работы выражения в php


Рекомендуемые сообщения

Привет всем :)

Вопрос такой, предположим у меня есть цикл for, в теле которого выполняются какие-то операции, как мне сделать такую вещь, что если например, на 4 шаге тело выполняется больше 5 секунд, то переходим к следующей итерации, т.е:

for ($i=0; $i<100; $i++) {  //  ....bla bla bla ..... if (время выполнения скрипта > 10c) continue;}

set_time_limit (n секунд); останавливает сам сценарий, а мне не нужно сразу выходить из него;

:)

Подскажите как решить задачу)

Ссылка на комментарий
Поделиться на другие сайты

Пишу что называется на горячую руку поэтому за работоспособность не ручаюсь.

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 хранится время выполнения кода.

Проверить сейчас не имею возможности, поэтому за работоспособность не ручаюсь. Часть кода взята отсюда

Ссылка на комментарий
Поделиться на другие сайты

while ($totaltime < 5)

Сори, тока в ванную когда пошёл сообразил))

Нужен не цикл while а условие if, иначе зациклится цикл на бесконечности

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...