Возврат каретки PHP многострочный - PullRequest
0 голосов
/ 08 июня 2018

Я хотел бы сделать многострочный возврат каретки с php для командной строки.Это возможно?

Я уже знаю, как добиться этого одной строкой print("\r"), но хотелось бы знать, как сделать это в несколько строк.

Печатные данные должны выглядеть следующим образом:

$output = "
 Total time passed: 34, \n
 Total tests: 14/523 
";
print($output . "\r");

Работает для одной строки, поэтому новая строка не добавляется при каждой печати в цикле.Когда я использую его с PHP_EOL или \ n, я получаю новые строки все время.Я просто хочу, чтобы при обновлении отображались две строки.

Ответы [ 3 ]

0 голосов
/ 08 июня 2018

Вы можете написать что-то вроде:

print("\n\n\n\n\n");

, но что если вы хотите напечатать динамическое число новых строк:)

попробуйте эту функцию:

function new_lines($n) {
    for($i = 0; $i < $n; $i++) { echo PHP_EOL; }
}

Назови это так:

//print 100 new lines
new_lines(100); 
0 голосов
/ 08 июня 2018

Вы можете сделать это, используя ANSI escape char [F

Как пример:

for ($i = 1; $i < 5; $i++) {
    $prevLineChar = "\e[F";
    sleep(1);
    echo "$i\nof 5\n" . $prevLineChar . $prevLineChar;
}
0 голосов
/ 08 июня 2018

Вы ищете PHP_EOL, по одному на каждый возврат каретки.Смотрите здесь: https://stackoverflow.com/a/128564/2429318 для хорошего дружеского описания.

Это одна из основных предопределенных констант в PHP

PHP_EOL (строка)Правильный символ «Конец строки» для этой платформы.Доступно с PHP 5.0.2

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...