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 Show 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à
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
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: Đầ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: |