回声成一行但处于循环状态

时间:2018-10-24 12:26:57

标签: php for-loop

我有以下代码:

$data  = ['a','b','c'];
$total = count($data);
for($i = 0; $i < $total; $i++) {
    echo $data;
}

我需要的是,当代码在cmd中运行时,cmd将输出每个字符,以便它替换显示中的前一个字符,如下所示:

enter image description here

a >>然后更改为显示b >>然后更改为显示c

...仅一行。

想象在cmd的第3行将交替显示单词(a-> b-> c)

我尝试使用“ \ r”,但结果在cmd中什么都没有。 请您帮忙?

3 个答案:

答案 0 :(得分:5)

我想这就是你想要的。如果我错了纠正我。它首先打印a,然后将其替换为b,然后将其替换为c

$data  = ['a','b','c'];
$total = count($data);
for($i = 0; $i < $total; $i++) {
    echo "\033[1D";      // Move 1 character backward
    echo $data[$i];  
    sleep(1);           // wait for a while, so we see the animation
}

答案 1 :(得分:-1)

这样做:

$data = ['a','b','c'];

foreach一起使用,如下所示:

foreach($data as $d) {
   echo "\033[1D";
    echo $d;
    sleep(1);
}

答案 2 :(得分:-1)

我希望这就是您想要的...

$data = ['a','b','c'];
$total = count($data);

for ($i=0; $i < $total; $i++){
    echo $data[$i] . "\n";
}