php命令行更改文本输出

swe*_*web 2 php terminal onchange command-line-interface

我想知道是否有可能为特殊的php cli基础应用程序更改某些输出以更改终端上的某些值而不是回显新的.例如,这是cli应用程序.

#!/usr/bin/env php
<?php

$percent = 0;

for ($i = 0; $i <= 100; $i++) {

    echo $percent . "\n";

    sleep(1);

    $percent++;
}

/**
0
1
...
*/
Run Code Online (Sandbox Code Playgroud)

这是一个向用户显示百分比的简单应用程序.所以我们必须在这个例子中的每个循环之后更新它,而不是追加它.我想改变百分比而不是显示新的百分比.

Ger*_*der 9

\r而不是\n.\r是一个回车符,它会跳回到行的开头而没有换行符.

$percent = 0;
for ($i = 0; $i <= 100; $i++) {
    echo $percent . "\r";
    sleep(1);
    $percent++;
}
Run Code Online (Sandbox Code Playgroud)

这适用于Windows,Linux和MacOS

  • 这取决于终端运行的操作系统吗? (2认同)