while循环在同一位置每个循环输出一位数

时间:2017-05-09 08:19:54

标签: php

 echo "counter: ";
 $i=1;
 while ($i <= 5) {
    print($i);
    sleep(1);
    $i++;
 }

以上将输出:counter:12345我需要输出例如:loop 3 - counter:3(每个循环一位)

怎么做:

1)在浏览器中运行时?

2)从命令行运行时(php index.php)?

2 个答案:

答案 0 :(得分:1)

我想你想制作一个自动更新的字符串。仅用PHP来实现它是不可能的。您应该使用Javascript(或类似jQuery的库)并通过Ajax调用从PHP发送数据。

您甚至可以使用Javascript执行此操作。

var counter = 1;
setInterval(function () {
  counter++;
}, 5);

对于命令行,您可以在字符串末尾使用带有“\ r”的代码。

$i=0;
while ($i <= 5) {
   sleep(1);
   $i++;
   echo "counter: $i\r";
}

答案 1 :(得分:0)

我认为这就是你所需要的。计数器字符串被带入循环内,并为新的线模拟添加了中断。还&lt;当循环运行4次而不是1时,它被更改为&lt; =。

 $i=1;
 while ($i <= 5) {
 print("counter: $i <br>");
 sleep(1);
 $i++;
 }