Возврат каретки PHP многострочный

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

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

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

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

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

1

Решение

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

Как пример:

for ($i = 1; $i < 5; $i++) {
$prevLineChar = "\e[F";
sleep(1);
echo "$i\nof 5\n" . $prevLineChar . $prevLineChar;
}
1

Другие решения

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

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

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

0

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

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
По вопросам рекламы ammmcru@yandex.ru