我想在选定的时间后停止执行循环。意味着循环时它将尝试执行一个参数并花费很长时间然后它将完成工作并转到下一个参数。例如:
for ($i=2 ; $i <= 100 ; $i++)
这里假设会循环3,4,5,6,7,8,9,10,在11中会执行很长时间。所以我只想在(即 10 秒)之后停止它并选择下一个选项,我的意思是 12、13、14... 等等。
那么,我该怎么做。我设置了这个 set_time_limit(10);
,但它在这里不起作用。
最佳答案
您可以使用 microtime()测量耗时。请注意,这只会在迭代完成后中断。
$start = microtime(true);
$limit = 10; // Seconds
for ($i=2 ; $i <= 100 ; $i++) {
if (microtime(true) - $start >= $limit) {
break;
}
}
https://stackoverflow.com/questions/13195464/