当它递增时,在同一输出线上回声整数?

时间:2012-08-02 15:51:21

标签: php loops line increment

我一直想知道是否可以在PHP中执行以下操作:

for($x = 1; $x <= 50; $x++)
    echo $x;

这会输出:

1234 etc...

显然,这段代码不是专门的,因为它几乎是瞬间的,你甚至无法看到增量发生。 现在问我的问题:是echo它可以删除它,重复吗?简单地说,输出应该从头到尾在同一条线上。我不知道如何解释或展示,但这是一个例子(有点):

1 (backspace) 2 (backspace) etc...

我希望你能理解它,我不知道如何解释它.-。

感谢您的帮助!

编辑:顺便说一下这是控制台,对不起,我忘了把它包括在内。这不适合网络!

3 个答案:

答案 0 :(得分:24)

如果您在CLI中运行代码:

echo $x."\r";

答案 1 :(得分:2)

你可以很容易地用Javascript做到这一点,但是由于PHP生成了页面然后将其发送出去,所以你不能直接使用PHP,至少如果你的最终目的是允许用户看到它发生变化。

编辑:这是假设您在网络上,所以不确定,因为您更新了与控制台相关的问题。

答案 2 :(得分:2)

通常php的输出转到HTTP响应设置no,它不可能。显示在用户屏幕上的所有内容都已通过网络消失,您无法再对其进行控制。

但是,如果您在CLI环境中运行,则可以使用完整的基于字符的窗口绘制库,例如ncurses,可用于在终端中移动像素(在本例中为字符)。