$zeit = time();
$zeit60 = time()+2;
while ($zeit < $zeit60){
sleep (1);
echo time();
}
为什么这不起作用?
感谢您的回答!
$zeit = time();
$zeit60 = time()+2;
while ($zeit < $zeit60){
sleep (1);
echo time();
}
为什么这不起作用?
感谢您的回答!
您的代码将每秒打印时间......永远。因为条件本质while x < x+2
上是 ,当然是真的 ∀ x ∈ ℝ</p>
您可能应该更新 的值$zeit
,以便在时间到期后您的循环将退出。
也就是说,除非您有特别复杂的代码,否则执行以下操作可能就足够了:
$seconds = 2;
while($seconds) {
sleep(1);
echo time();
$seconds--;
}
此循环将永远运行,因为您将时间设置为变量。
这就像说:
$a=1;
$b=$a+1;
while($a<$b){}
的值$a
永远不会改变,因此你永远被困在无限中。如果您有固定的“等待时间”($zeit60
),那么您可以有效地使用time()
:
$zeit60 = time()+2;
while (time() < $zeit60){
sleep (1);
echo time();
}