2013-03-01 86 views

回答

5

Strings - Double quoted,没有\b公认的转义序列。您可以使用ASCII退格键十六进制或八进制代码

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

或循环一路下跌至零

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

必须省略换行符\n为好。

+0

认真吗? PHP有一个垂直标签'\ v'的转义序列,而不是一个退格'\ b'?对于通过类似转义序列从任何'C'类更容易进行转换... – 2014-01-04 23:01:10

2

退格字符对应于ASCII字符代码8,所以您可以使用PHP的char()函数输出它。

Ex。如果你这样做:

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

输出的结果是:

Hello, world 
+1

我想我应该澄清,这只有在命令行上下文中才有用。如果你只是想向某人显示一个修改后的字符串,你可能最好使用像''substr()']这样的普通字符串函数修改它(http://php.net/manual/en/function .substr.php)或类似的东西。 – Liv 2013-03-01 12:34:58

+0

优秀的解决方案 – 2014-06-11 11:03:25