Serialize và unserialize trong php là gì

Trong PHP, không có khả năng vận chuyển hoặc lưu trữ dữ liệu. Để thực thi liên tục một tập hợp dữ liệu phức tạp, các hàm serialize[] và unserialize[] sẽ được giải cứu. Chúng đặc biệt tiện dụng để xử lý dữ liệu phức tạp

Hầu hết thời gian, các nhà phát triển cần lưu trữ một mảng phức tạp bên trong tệp hoặc cơ sở dữ liệu. Các mảng phức tạp là những mảng có nhiều phần tử của một kiểu dữ liệu hoặc một mảng

Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách sử dụng các hàm serialize[] và unserialize[] để hoàn thành mục tiêu của mình

Nó là một hàm PHP sẵn có được sử dụng để tuần tự hóa một mảng cụ thể

Nó chỉ chấp nhận một tham số là dữ liệu dự định sắp xếp theo thứ tự. Hàm serialize[] có khả năng trả về một chuỗi được tuần tự hóa

Cú pháp của hàm serialize[] là

serialize[ $values_in_form_of_array ]: string

Dưới đây, bạn có thể xem một ví dụ chính xác về việc sử dụng chức năng này

Đầu ra của ví dụ như sau

 a:4:{i:0;s:5:"hello";i:1;i:36;i:2;a:2:{i:0;i:1;i:1;s:3:"two";}i:3;s:5:"apple";}

Hàm unserialize[] là một hàm PHP sẵn có khác. Nó được sử dụng để hủy đánh số hóa một mảng được tuần tự hóa cụ thể để trở về giá trị ban đầu của mảng phức $myvar

Cú pháp của hàm này sẽ như sau

unserialize[string $data, array $options = []]: mixed

Bây giờ, hãy xem cách cả serialize[] và unserialize[] được sử dụng trong thực tế

Đầu ra của ví dụ như sau

  [
    [0] => hello
    [1] => 42
    [2] => 
        [
            [0] => 1
            [1] => two
        ]
    [3] => apple
  ]

Để biết thêm thông tin và ví dụ sử dụng của các hàm này, bạn có thể xem PHP serialize[] và PHP unserialize[]

Bài viết này sẽ giới thiệu về unserialize trong PHP, một hàm cho phép bạn unserialize các đối tượng hoặc mảng, với một minh họa thực tế chi tiết. Các gợi ý sau đây sẽ được đề cập trong bài viết này,

Vì vậy, chúng ta hãy bắt đầu sau đó,

Hủy xác thực trong PHP

Hàm unserialize chuyển đổi từ dữ liệu được tuần tự hóa thành dữ liệu thực tế. Bằng cách tuần tự hóa dữ liệu, một mảng hoặc một đối tượng, nghĩa là chúng tôi chuyển đổi dữ liệu sang định dạng văn bản thuần túy. Bằng cách hủy xác thực dữ liệu, chúng tôi chuyển đổi dữ liệu trở lại mã PHP. Vì vậy, nếu chúng tôi tuần tự hóa một đối tượng, chúng tôi sẽ biến nó thành một chuỗi văn bản thuần túy. Nếu chúng tôi hủy xác thực nó, chúng tôi sẽ lấy lại đối tượng trước đó của mình, trong PHP. Khi chúng tôi hoàn thành với các ứng dụng bên ngoài, chúng tôi có thể muốn chuyển đổi tuần tự hóa trở lại thành dạng không được đăng ký ban đầu của nó

Bây giờ chúng ta đã có một số ý tưởng về Unserialize trong PHP là gì, hãy để chúng ta hiểu cách unserialize một đối tượng,

Unserializing một đối tượng

Điều này chuyển đổi đối tượng thành một chuỗi văn bản thuần túy và sau đó chuyển đổi chuỗi văn bản thuần túy trở lại thành một đối tượng. Dưới đây là mã PHP tuần tự hóa và hủy tuần tự hóa một đối tượng trong PHP và xuất cả dữ liệu được tuần tự hóa và dữ liệu chưa được tuần tự hóa

color=” black”;
//serializes the object into a plain text string
$car1_serialized=serialize[$car1];
//outputs the serialized text string
Echo “This is the serialized data shown below:
‘$car1_serialized”; Echo”

”; //unserializes the plain text string back into an object $car1_unserialized=unserialize[[$car1_serialized]; //outputs theobject and an object property Echo “This is the unserialized data shown below:
”; Echo var_dump[$car1_unserialized]; Echo”
; Echo “Object property:”. $car1_unserialized->color; ?>

Đầu ra PHP thực tế

Dữ liệu tuần tự hóa được hiển thị bên dưới

‘0. 4. "ô tô". 1. {S. 5. " màu"; . 3. " đen";}'

Dữ liệu chưa được xác thực hiển thị bên dưới

Object[ô tô]#2[1] {[“color”] =>string [3]” black”}

Thuộc tính đối tượng. đen

Trong phần tiếp theo của bài viết này về 'Unserialze trong PHP', chúng ta sẽ tìm hiểu cách mảng có thể được unserialized,

Unserialize một mảng

Mảng là một cấu trúc phức tạp có thể cần được tuần tự hóa để hoạt động với các ứng dụng bên ngoài của PHP. Khi chúng tôi xử lý các ứng dụng hoặc ngôn ngữ bên ngoài, chúng tôi có thể cần chuyển đổi nó trở lại thành một mảng. Và chúng tôi làm điều này thông qua chức năng unserialize

Mã PHP tuần tự hóa một mảng và sau đó hủy tuần tự hóa dữ liệu được tuần tự hóa trở lại thành một mảng

:’$colors_serialized”;
$colors_unserialized= unserialized[$colors_serialized];
Echo “This is the unserializrd array shown below:
”; Echo”
”;
Echo print_r[$colors_unserialized];
Echo “
”;

Mã PHP này mang lại kết quả như sau

Đầu ra PHP thực tế

Mảng tuần tự hóa được hiển thị bên dưới

'một. 4. {tôi. 0;s. 4. ”đỏ”; tôi. 1;s. 6. "màu hồng"; tôi. 2;s. 5. "màu vàng"; tôi. 3;s. 5. "nâu";}'

Mảng chưa được đánh số hóa hiển thị bên dưới

Mảng

[

[0] => đỏ

[1] => hồng

[2] => màu vàng

[3] => nâu

]

}

Chúng tôi tạo một mảng, tuần tự hóa nó, hiển thị mảng được tuần tự hóa, sau đó hủy xác thực nó, lấy lại mảng PHP gốc ban đầu. Sau đó chúng ta xuất mảng thông qua hàm print_r[]. Chúng tôi sử dụng các thẻ trước chỉ để làm cho mảng dễ đọc hơn

Điều này đưa chúng ta đến cuối bài viết này

Nếu bạn thấy bài viết PHP này có liên quan, hãy xem Chương trình đào tạo chứng chỉ PHP của Edureka, một công ty học tập trực tuyến đáng tin cậy với mạng lưới hơn 250.000 người học hài lòng trải khắp toàn cầu

Có một câu hỏi cho chúng tôi?

Tuần tự hóa trong PHP là gì?

Định nghĩa và cách sử dụng . Để tuần tự hóa dữ liệu có nghĩa là chuyển đổi một giá trị thành một chuỗi các bit, để có thể lưu trữ nó trong một tệp, bộ nhớ đệm hoặc truyền qua mạng. converts a storable representation of a value. To serialize data means to convert a value to a sequence of bits, so that it can be stored in a file, a memory buffer, or transmitted across a network.

Tuần tự hóa trong PHP với ví dụ là gì?

Sắp xếp theo thứ tự một đối tượng có nghĩa là chuyển đổi nó thành biểu diễn dòng phụ có thể được lưu trữ trong một tệp . Điều này hữu ích cho dữ liệu liên tục; .

Làm cách nào để hủy xác thực dữ liệu biểu mẫu trong PHP?

Hàm unserialize[] của PHP . "
"; $test = unserialize[$data]; var_dump[$test];

Làm cách nào để tuần tự hóa một đối tượng trong PHP?

Việc tuần tự hóa đối tượng trong PHP được thực hiện bằng cách sử dụng hàm gọi là hàm serialize[] để chuyển đổi giá trị thành biểu diễn có thể lưu trữ hoặc tuần tự hóa . Giá trị được tuần tự hóa được truyền dưới dạng tham số cho hàm tuần tự hóa.

Chủ Đề