Hướng dẫn php print vs echo

Chúng ta thường sử dụng câu lệnh echo để hiển thị đầu ra. Có hai cách cơ bản để in đầu ra trong PHP:

  • echo
  • print

echo và print là các cú pháp của ngôn ngữ PHP và chúng không bao giờ hoạt động giống như một hàm. Do đó, không có yêu cầu dấu ngoặc đơn. Tuy nhiên, cả hai câu lệnh đều có thể được sử dụng có hoặc không có dấu ngoặc đơn. Chúng ta có thể sử dụng các câu lệnh này để xuất ra các biến hoặc chuỗi.

  • 1. Sự khác biệt giữa echo và bản print
    • echo
    • print
  • 2. Ví dụ (Kiểm tra với nhiều đối số)
  • 3. Ví dụ (Kiểm tra với giá trị trả lại)

1. Sự khác biệt giữa echo và bản print

echo

  • echo là một câu lệnh, được sử dụng để hiển thị đầu ra.
  • echo có thể được sử dụng có hoặc không có dấu ngoặc đơn.
  • echo không trả về bất kỳ giá trị nào.
  • Chúng ta có thể truyền vào nhiều chuỗi được phân tách bằng dấu phẩy (,) trong echo.
  • echo nhanh hơn print statement.

print

  • print cũng là một câu lệnh, được sử dụng thay thế cho echo để hiển thị đầu ra.
  • print có thể được sử dụng có hoặc không có dấu ngoặc đơn.
  • print luôn trả về một giá trị nguyên, là 1.
  • Sử dụng print, chúng ta không thể truyền nhiều đối số.
  • print chậm hơn câu lệnh echo.

Bạn có thể thấy sự khác biệt giữa câu lệnh echo và print với sự trợ giúp của các chương trình sau.

2. Ví dụ (Kiểm tra với nhiều đối số)

Bạn có thể truyền nhiều đối số được phân tách bằng dấu phẩy (,) vào echo. Nó sẽ không tạo ra bất kỳ lỗi cú pháp nào.

<?php $fname = "Cafedev"; $lname = "Xuan"; echo "My name is: ".$fname,$lname; ?>

Đầu ra:

CafedevXuan

Nó sẽ tạo ra một lỗi cú pháp vì nhiều đối số trong một câu lệnh print.

<?php $fname = "Cafedev"; $lname = "Xuan"; print "My name is: ".$fname,$lname; ?>

Đầu ra:

3. Ví dụ (Kiểm tra với giá trị trả lại)

câu lệnh echo không trả về bất kỳ giá trị nào. Nó sẽ tạo ra lỗi nếu bạn cố gắng hiển thị giá trị trả về của nó.

<?php $lang = "PHP"; $ret = echo $lang." is a web development language."; echo "</br>"; echo "Value return by print statement: ".$ret; ?>

Đầu ra:

Như chúng ta đã thảo luận rằng bản print trả về một giá trị, luôn là 1.

<?php $lang = "PHP"; $ret = print $lang." is a web development language."; print "</br>"; print "Value return by print statement: ".$ret; ?>

Đầu ra:

Cài ứng dụng cafedev để dễ dàng cập nhật tin và học lập trình mọi lúc mọi nơi tại đây.

Tài liệu từ cafedev:

  • Full series tự học PHP từ cơ bản tới nâng cao tại đây nha.
  • Ebook về PHP tại đây.
  • Các nguồn kiến thức MIỄN PHÍ VÔ GIÁ từ cafedev tại đây

Nếu bạn thấy hay và hữu ích, bạn có thể tham gia các kênh sau của cafedev để nhận được nhiều hơn nữa:

  • Group Facebook
  • Fanpage
  • Youtube
  • Instagram
  • Twitter
  • Linkedin
  • Pinterest
  • Trang chủ

Chào thân ái và quyết thắng!

Đăng ký kênh youtube để ủng hộ Cafedev nha các bạn, Thanks you!

If you search the differences in any search engines, you'll get your answer. For example below is one use for printf:

You can use this function to format the decimal places in a number:

$num = 2.12; printf("%.1f",$num); prints: 2.1

And of course this is only just one use. Another good sample that i use is below:

If you are printing data in a "pre" tag, courier font, or otherwise non-variable length font (like a terminal), you might have use for printf's justify feature.

$value1 = "31298"; $value2 = "98"; print "<pre>\n"; printf ("%'.-15.15s%'.6.6s\n", $heading1, $value1); printf ("%'.-15.15s%'.6.6s\n", $heading2, $value2); print "</pre>\n"; ?>

And lots of other usage.

echo: echo không hẳn là một hàm mà ta chỉ đơn giản gọi nó là thành phần cấu trúc ngôn ngữ PHP. Câu lệnh này chấp nhận một danh sách tham số, cách nhau bởi dấu phẩy, và không giới hạn bằng đóng mở ngoặc nhọn. echo cũng không trả lại bất kì giá trị nào. Tuy vậy, nó không thể dùng như là biến hàm được.

Ví dụ:

<?php $x = "hocphp.net "; $y = "thu nghiem"; echo $x, $y; ?>

Code language: HTML, XML (xml)

Output:

hocphp.net thu nghiem

Code language: CSS (css)

print: Không phải là 1 hàm thật. Nó cũng là một cấu trúc ngôn ngữ của PHP, nhưng luôn trả lại giá trị 1. Vì thế nó có thể được dùng như là 1 biểu thức. Nhưng lại không giống echo, print chỉ chấp nhận 1 tham số duy nhất. Và nó cũng không thể dùng như là biến hàm được. print chỉ có thể in ra dạng xâu, và chậm hơn so với echo trong việc này.

Ví dụ:

<?php $x = "hocphp.net"; print $x; ?>

Code language: HTML, XML (xml)

Output:

hocphp.net

Code language: CSS (css)

print_r(): print_r() là một hàm bình thường. Đầu ra của nó là chi tiết của tham số truyền vào với kiểu của tham số đó. Cách này dễ hiểu cho người đọc hơn. Khi dùng hàm này, output được chứa ở buffer trong và có tham số trả lại. Nếu tham số trả lại là TRUE, print_r() sẽ in đầy đủ thông tin hơn so với việc chỉ đơn giản in ra giá trị của biến. Dùng hàm này giúp chúng ta tránh được một số lỗi khi chạy, và nó khá giống hàm var_dump().

Ví dụ:

<?php $arr = array('0' => "hocphp.net", '1' => "la", '2' => "trang", '3' => "day php"); print_r($arr); ?>

Code language: HTML, XML (xml)

Output:

Array ( [0] => hocphp.net [1] => la [2] => trang [3] => day php )

Code language: PHP (php)

Ví dụ:

<?php $a = "hocphp.net"; $b = array('0' => "hoc", '1' => "php.", '2' => "net"); $c = 3.14; $d = 7; print "\n$a\n"; echo $c + $d . "\n"; print_r($b); ?>

Code language: HTML, XML (xml)

Output:

hocphp.net 10.14 Array ( [0] => hoc [1] => php. [2] => net )

Code language: PHP (php)

Tham khảo khóa học lập trình web 6 tháng, đảm bảo 100% công việc đầu ra!

Tham khảo thêm:

//www.php.net/manual/en/function.echo.php

//www.php.net/manual/en/function.print.php

//www.php.net/manual/en/function.print-r.php

Chủ đề