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

время работы выражения в 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, иначе зациклится цикл на бесконечности

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

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

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

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