如何从php命令行回退空格


How do I echo a backspace from php cli?

这个问题:https://askubuntu.com/questions/16149/overwrite-previous-output-in-bash-instead-of-appending-it

说明如何使用bash脚本执行倒计时。我想做同样的事情,但我需要在PHP中做。是否有一种方法来回应退格?

echo "Counting down 60'n";
sleep(1);
echo "'b'b'b59'n";
sleep(1);
echo "'b'b'b58'n";

但是,echo "'b"不做任何事情

From Strings -双引号,没有'b被识别为转义序列。您可以使用ASCII退格、十六进制或八进制代码

$bs = "'x08";
echo "Counting down 60";
sleep(1);
echo "$bs$bs59";
sleep(1);
echo "$bs$bs58";

或者在循环中一直到0

$bs = "'x08";
for ($i = 59; $i >= 0; --$i) {
    sleep(1);
    printf("$bs$bs%2d", $i);
}

必须省略换行符'n

退格字符对应ASCII字符码8,因此可以使用PHP的char()函数输出。

交货。如果你这样做:

echo 'Hello, world!' . chr(8);

结果输出为:

Hello, world