Print_r PHP

PHP có hỗ trợ sẵn cho các mảng dữ liệu và có hai cách bạn có thể tạo một mảng. sử dụng hàm mảng hoặc sử dụng toán tử đặc biệt, [ ]

Trước khi chúng ta xem xét cách hoạt động của mảng, có hai điều quan trọng bạn cần hiểu trước khi tiếp tục

  • Mảng là một biến PHP bình thường giống như bất kỳ biến nào khác, nhưng nó hoạt động giống như một vùng chứa - bạn có thể đặt các biến khác bên trong nó

  • Mỗi biến trong mảng được gọi là một phần tử. Mỗi phần tử có một khóa và một giá trị, có thể là bất kỳ biến nào khác

Bây giờ, hãy xem mã PHP này


Trên dòng một, chúng ta thấy cách cơ bản nhất để tạo một mảng, hàm array(). Hàm array() nhận tối thiểu một tham số (và tối đa bao nhiêu tùy ý) và trả về một mảng chứa các biến đó. Đúng vậy - $myarray hiện chứa cả ba biến. Dòng hai chứa một hàm mới, count(), trả về số lượng phần tử có trong mảng được truyền cho nó dưới dạng tham số duy nhất của nó - trong ví dụ chúng ta truyền vào $myarray của tôi, sau đó lưu trữ số lượng phần tử (ba) trong $

Lưu ý của tác giả. Hàm array() thực sự cho phép bạn có dấu phẩy sau phần tử cuối cùng, vd. mảng ("Táo", "Cam", "Lê",). Điều này hiếm khi được sử dụng trong mã viết tay, nhưng nó có thể giúp việc tạo mã dễ dàng hơn nhiều

Dòng ba chứa một chức năng mới khác, print_r(). Điều này chỉ nhận một tham số, nhưng nó xuất ra thông tin chi tiết về một biến, chẳng hạn như loại, độ dài và nội dung. Trong trường hợp của mảng, print_r() lặp đi lặp lại xuất ra tất cả các phần tử bên trong mảng - đó là một cách hay để xem mảng hoạt động như thế nào

Đây là đầu ra của print_r() từ đoạn mã trên

Array
(
[0] => Apples
[1] => Oranges
[2] => Pears
)

Như bạn có thể thấy, có ba biến của chúng ta - Apples ở chỉ số 0 trong mảng (được biểu thị bằng "[0]=>"), Cam ở chỉ số 1 trong mảng và Lê ở chỉ số 2 trong mảng. Lưu ý rằng nếu bạn đang chạy tập lệnh của mình thông qua trình duyệt web chứ không phải từ dòng lệnh, bạn có thể thấy việc đặt mã HTML sẽ giúp ích cho bạn.

thẻ trước lệnh gọi print_r() của bạn, vì điều này sẽ định dạng chúng để dễ đọc hơn.

Sử dụng thuật ngữ mảng thích hợp được xác định trước đó, các chỉ số 0, 1 và 2 là khóa của từng phần tử, "Táo", "Cam" và "Pears" là giá trị của từng phần tử, khóa và giá trị được xem xét .

Lưu ý rằng bạn có thể cung cấp tham số thứ hai cho print_r(), nếu được đặt thành true, sẽ làm cho print_r() chuyển đầu ra của nó trở lại làm giá trị trả về và không in bất kỳ thứ gì ra ngoài. Để đạt được kết quả tương tự khi sử dụng phương pháp này, chúng ta cần thay đổi tập lệnh thành điều này.


Bạn có thể lưu trữ bất cứ thứ gì bạn thích dưới dạng giá trị trong một mảng và bạn cũng có thể trộn các giá trị. Ví dụ. mảng ("Foo", 1, 9. 995, "thanh", $somevar). Bạn cũng có thể đặt mảng bên trong mảng, nhưng chúng ta sẽ nói về điều đó sau.

Có một chức năng tương tự như print_r(), đó là var_dump(). Nó thực hiện phần lớn điều tương tự, nhưng a) in ra kích thước của các biến, b) không in ra dữ liệu không công khai trong các đối tượng và c) không có tùy chọn chuyển tham số thứ hai để trả về đầu ra của nó. Ví dụ: thay đổi tập lệnh đầu tiên để sử dụng var_dump() thay vì print_r() sẽ cho kết quả sau.

array(3) {
    [0]=>
    string(6) "Apples"
    [1]=>
    string(7) "Oranges"
    [2]=>
    string(5) "Pears"
}

Trong đó, bạn có thể thấy var_dump() đã cho chúng tôi biết rằng mảng có ba giá trị và cũng in ra độ dài của mỗi chuỗi. Đối với mục đích giảng dạy, var_dump() sẽ tốt hơn vì nó hiển thị các kích thước thay đổi, tuy nhiên, bạn có thể sẽ muốn sử dụng print_r() trong công việc của mình.

Cuối cùng, có hàm var_export(), tương tự như cả var_dump() và print_r(). Tuy nhiên, sự khác biệt chính với var_export() là nó in ra thông tin biến theo kiểu có thể được sử dụng làm mã PHP. Ví dụ: nếu chúng tôi đã sử dụng var_export() thay vì print_r() trong tập lệnh thử nghiệm, nó sẽ xuất ra kết quả như sau.

array (
    0 => 'Apples',
    1 => 'Oranges',
    2 => 'Pears',
)

Lưu ý rằng có thêm một dấu phẩy sau phần tử cuối cùng, tuy nhiên điều này bị PHP bỏ qua và bạn có thể sao chép và dán thông tin đó trực tiếp vào tập lệnh của riêng mình, như thế này.

 'Apples',
        1 => 'Oranges',
        2 => 'Pears',
    );
?>

Cú pháp mảng ngắn

Nếu bạn đang sử dụng PHP 5. 4 trở lên (rất có thể xảy ra), bạn có thể tận dụng cú pháp mảng ngắn. thay vì sử dụng mảng (), bạn chỉ có thể sử dụng dấu ngoặc vuông. Vì vậy, hai dòng mã này tạo ra kết quả giống hệt nhau.


Bạn muốn học PHP 7?

Hacking with PHP đã được cập nhật đầy đủ cho PHP 7 và hiện có sẵn dưới dạng PDF có thể tải xuống. Nhận hơn 1200 trang học PHP thực hành ngay hôm nay

Nếu điều này hữu ích, vui lòng dành chút thời gian để nói với những người khác về Hacking với PHP bằng cách tweet về nó

print_r(variable, isStore) Đây là một hàm tích hợp sẵn trong print_r trong PHP được dùng để in hoặc hiển thị nội dung của một biến. It essentially prints human-readable data about a variable. The value of the variable will be printed if it is a string, integer, or float.

Sự khác biệt giữa in và Print_r là gì?

Print và echo đều là cấu trúc ngôn ngữ để hiển thị chuỗi. Echo có kiểu trả về là void, trong khi print có giá trị trả về là 1 nên có thể sử dụng nó trong các biểu thức. Print_r được sử dụng để hiển thị thông tin mà con người có thể đọc được về một biến .

Làm cách nào để in các giá trị mảng trong PHP?

Để hiển thị cấu trúc mảng và giá trị trong PHP, chúng ta có thể sử dụng 2 hàm. Chúng ta có thể sử dụng var_dump() hoặc print_r() để hiển thị các giá trị của một mảng ở định dạng con người có thể đọc được hoặc để xem giá trị đầu ra của mảng chương trình.

Làm cách nào để in mảng bài trong PHP?

Để in mảng dữ liệu POST. echo print_r($_POST,true); Nếu bạn muốn trình duyệt dễ đọc hơn, hãy bọc trong thẻ