Hướng dẫn new line php console - bảng điều khiển php dòng mới

127

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Tôi có một tập lệnh PHP CLI và không thể có đầu ra để phá vỡ các dòng mới. tôi làm

echo 'this is my text\r\n';
echo 'next line';

Điều này cho

this is my text\r\nnext line

Bất kỳ ý tưởng về làm thế nào để có được đầu ra trên các dòng khác nhau?

Hướng dẫn new line php console - bảng điều khiển php dòng mới

Dan Grossman

51.2k10 Huy hiệu vàng109 Huy hiệu bạc98 Huy hiệu đồng10 gold badges109 silver badges98 bronze badges

Hỏi ngày 25 tháng 7 năm 2011 lúc 15:54Jul 25, 2011 at 15:54

1

Sử dụng dấu ngoặc kép

this is my text\r\nnext line
5.

echo "next line\n";

Bổ sung Bạn có thể sử dụng hằng số phụ thuộc vào hệ thống

this is my text\r\nnext line
6

echo "this is my text" . PHP_EOL;

Đã trả lời ngày 25 tháng 7 năm 2011 lúc 15:56Jul 25, 2011 at 15:56

KingcrunchKingCrunchKingCrunch

Huy hiệu vàng 126K2020 gold badges147 silver badges171 bronze badges

5

Sử dụng dấu ngoặc kép thay thế.

this is my text\r\nnext line
5.

Đã trả lời ngày 25 tháng 7 năm 2011 lúc 15:55Jul 25, 2011 at 15:55

Daniel A. Whitedaniel A. WhiteDaniel A. White

184K45 Huy hiệu vàng360 Huy hiệu bạc434 Huy hiệu đồng45 gold badges360 silver badges434 bronze badges

Tốt hơn là không nên kết hợp bất cứ điều gì trong PHP, bởi vì nó có thể dẫn đến kết quả không mong muốn, thay vào đó sử dụng dấu phẩy:not to concatenate anything in PHP, because it may lead to unexpected results, instead use a comma:

echo 'Text with new line' , PHP_EOL;

Điều này cũng sẽ nhanh hơn: không liên kết và tránh các trích dẫn kép được phân tích cú pháp.

Đã trả lời ngày 15 tháng 2 năm 2018 lúc 21:23Feb 15, 2018 at 21:23

Emixemixemix

15.3k10 Huy hiệu vàng63 Huy hiệu bạc83 Huy hiệu Đồng10 gold badges63 silver badges83 bronze badges

Topic: PHP / MySQLPrev|NextPrev|Next

Answer: Use the Newline Characters 'this is my text\r\nnext line 8' or 'this is my text\r\nnext line 9'

You can use the PHP newline characters

this is my text\r\nnext line
8 or
this is my text\r\nnext line
9 to create a new line inside the source code. However, if you want the line breaks to be visible in the browser too, you can use the PHP
echo "next line\n";
2 function which inserts HTML line breaks before all newlines in a string.

Let's take a look at the following example to understand how it basically works:

";
echo nl2br("You will find the \n newlines in this string \r\n on the browser window.");
?>

Note: The character

this is my text\r\nnext line
8 writes a newline in UNIX while for Windows there is the two character sequence:
this is my text\r\nnext line
9. To be on safe side use the
this is my text\r\nnext line
9 instead.
The character
this is my text\r\nnext line
8 writes a newline in UNIX while for Windows there is the two character sequence:
this is my text\r\nnext line
9. To be on safe side use the
this is my text\r\nnext line
9 instead.


Here are some more FAQ related to this topic:

  • How to combine two strings in PHP
  • How to remove white space from a string in PHP
  • How to write comments in PHP

Tình cờ thấy một số thanh progress bar trên nodejs khá hay ho, hôm nay tôi sẽ hướng dẫn mọi người viết một cái progress bar màu mè bằng php.

Tạo class ProgressBar

<?php
final class ProgressBar
{
    /**Ký tự dùng phần hoàn thành của progress bar */
    const FILL_CHAR = "▓";

    /**Ký tự dùng phần còn lại chưa hoàn thành của progress bar */
    const NOT_FILL_CHAR = "░";

    /** Độ dài tối đa của thanh progress bar */
    const BAR_LENGTH = 50;

    /** @var int Số bứớc nhảy tối đa của  progress bar, mặc định ban đầu là 0*/
    private $maxProcess = 0;

    /** @var int Bứớc nhảy hiện tại của  progress bar, mặc định ban đầu là 0 */
    private $currenProcess = 0;

    /** @var bool Trạng thái kết thúc của thanh tiến trình */
    private $endProgress = false;

    /** @var string Nơi lưu toàn bộ progress bar */
    private  $progressBar = "";

    /** Danh sách màu của progress bar, cái này chỉ để cho thanh progress bar trông màu mè hơn xíu :)) */
    private $colors = [];
}

Tạo constructor để khởi tạo số bước nhảy tối đa của progress bar, tiếp đó là khởi tạo các mã màu để sử dụng cho việc biến đổi màu sắc theo số % của thanh tiến trình.

public function __construct($max)
{
    $this->maxProcess = $max;
    $this->initColorCode();
}

private function initColorCode()
{
    for ($i = 196; $i <= 231; $i++) {
        $this->colors[] = $i;
    }
    for ($i = 123; $i >= 119; $i--) {
        for ($j = 0; $j < 3; $j++) {
            $this->colors[] = $i - 36 * $j;
        }
    }
}

Hàm tạo color code theo số %:

private function getColorCode($percent)
{
    $code = floor($percent / 2);
    if (!isset($this->colors[$code])) {
        $code = $this->colors[count($this->colors) - 1];
    } else {
        $code = $this->colors[$code];
    }
    return "\e[38;5;{$code}m";
}

Mỗi lần progress bar thay đổi, các ký tự đã show ra console trước đó phải được replace, hàm getBackward sẽ nhận vào số % hiện tại và trả về ký tự thoát tương ứng để relpace lại các ký tự đã in ra trước đó:

private function getBackward($percent)
{
    $backward = (strlen($this->progressBar) + 2);
    if ($percent < 10) {
        $backward++;
    }

    return  "\033[{$backward}D ";
}

Ui chao nghe lan man quá, rồi cái thanh tiến trình của tôi đâu. Thôi thì mình sẽ show code chính trước, hàm bổ trợ mình để ở dưới và giải thích sau nhé )

Hướng dẫn new line php console - bảng điều khiển php dòng mới
)

this is my text\r\nnext line
0

Hàm start ẩn con trỏ trên console và gọi hàm showProcess với đầu vào ban đầu là 0%(sẽ viết bên dưới)

this is my text\r\nnext line
1

Hàm advance cho phép truyền vào 1 tham số int, là bước nhảy của progress bar. Nếu không truyền vào thì mặc định mỗi lần gọi sẽ tăng step lên 1 đơn vị.

this is my text\r\nnext line
2

Sau khi chạy xong thì destructor sẽ được gọi và hiển thị con trỏ trở lại.

Còn thiếu 2 hàm createProgress và showProcess, ngay đây thôi )

Hướng dẫn new line php console - bảng điều khiển php dòng mới
)

this is my text\r\nnext line
3

Cuối cùng là khởi tạo instance của ProgressBar để test thôi nào

this is my text\r\nnext line
4

Full code tại đây

Tham khảo mã màu cho console tại đây

Thank for watching ;p