Hướng dẫn dùng serilization trong PHP

Hàm serialize[] sẽ mã hóa giá trị biến truyền vào thành một chuỗi đặc biệt, hàm trả về kết quả là chuỗi được mã hóa.

Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Lưu ý: hàm serialize[] có thể sử dụng với một mảng dữ liệu.

Cú pháp

Cú pháp: serialize[ $var];

Trong đó:

Bài viết này được đăng tại [free tuts .net]

  • $var là biến cần chuyển đổi.

Ví dụ

Code

$var = array[
	"php",
	2408,
	"css",
	"freetuts.net"
];
$varSerialize = serialize[$var];
echo "
";
	print_r[$varSerialize];
echo "
";

Kết quả

a:4:{i:0;s:3:"php";i:1;i:2408;i:2;s:3:"css";i:3;s:12:"freetuts.net";}

Tham khảo: php.net

Hàm serialize[] sẽ mã hóa giá trị biến truyền vào thành một chuỗi đặc biệt, hàm trả về kết quả là chuỗi được mã hóa.

Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Lưu ý: hàm serialize[] có thể sử dụng với một mảng dữ liệu.

Cú pháp

Cú pháp: serialize[ $var];

Trong đó:

Bài viết này được đăng tại [free tuts .net]

  • $var là biến cần chuyển đổi.

Ví dụ

Code

$var = array[
	"php",
	2408,
	"css",
	"freetuts.net"
];
$varSerialize = serialize[$var];
echo "
";
	print_r[$varSerialize];
echo "
";

Kết quả

a:4:{i:0;s:3:"php";i:1;i:2408;i:2;s:3:"css";i:3;s:12:"freetuts.net";}

Tham khảo: php.net

Hàm serialize[] sẽ mã hóa giá trị biến truyền vào thành một chuỗi đặc biệt, hàm trả về kết quả là chuỗi được mã hóa.

Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Lưu ý: hàm serialize[] có thể sử dụng với một mảng dữ liệu.

Cú pháp

Cú pháp: serialize[ $var];

Trong đó:

Bài viết này được đăng tại [free tuts .net]

  • $var là biến cần chuyển đổi.

Ví dụ

Code

$var = array[ "php", 2408, "css", "freetuts.net" ]; $varSerialize = serialize[$var]; echo "
"; print_r[$varSerialize]; echo "
";

Kết quả

a:4:{i:0;s:3:"php";i:1;i:2408;i:2;s:3:"css";i:3;s:12:"freetuts.net";}

Tham khảo: php.net

Hàm serialize[] sẽ mã hóa giá trị biến truyền vào thành một chuỗi đặc biệt, hàm trả về kết quả là chuỗi được mã hóa.

Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Lưu ý: hàm serialize[] có thể sử dụng với một mảng dữ liệu.

Cú pháp

Cú pháp: serialize[ $var];

Trong đó:

Bài viết này được đăng tại [free tuts .net]

  • $var là biến cần chuyển đổi.

Ví dụ

Code

$var = array[
	"php",
	2408,
	"css",
	"freetuts.net"
];
$varSerialize = serialize[$var];
echo "
";
	print_r[$varSerialize];
echo "
";

Kết quả

a:4:{i:0;s:3:"php";i:1;i:2408;i:2;s:3:"css";i:3;s:12:"freetuts.net";}

Tham khảo: php.net

answer

52

Ưu điểm chính của serialize: nó dành riêng cho PHP, có nghĩa là nó có thể đại diện cho các loại PHP , bao gồm các trường hợp của các lớp của riêng bạn - và bạn sẽ lấy lại các đối tượng của mình, vẫn là các bản sao của các lớp, khi giải mã dữ liệu của bạn.


Ưu điểm chính của json_encode: JSON không dành riêng cho PHP: có các thư viện để đọc / viết nó bằng một số ngôn ngữ - có nghĩa là sẽ tốt hơn nếu bạn muốn một thứ gì đó có thể được thao tác với một ngôn ngữ khác ngoài PHP.

Chuỗi JSON cũng dễ đọc / ghi / sửa đổi bằng tay hơn một chuỗi được tuần tự hóa.

Mặt khác, vì JSON không dành riêng cho PHP nên nó không nhận thức được những thứ dành riêng cho PHP - như kiểu dữ liệu.


Dưới dạng một vài chú thích bên lề:

  • Ngay cả khi có sự khác biệt nhỏ về tốc độ giữa hai thứ đó, thì điều đó cũng không quan trọng lắm: bạn có thể sẽ không tuần tự hóa / hủy tài liệu hóa nhiều dữ liệu
  • Bạn có chắc đây là cách tốt nhất để lưu trữ dữ liệu trong cơ sở dữ liệu?
    • Bạn sẽ không thể thực hiện nhiều truy vấn trên các dải tuần tự, trong DB: bạn sẽ không thể sử dụng dữ liệu của mình trong wherecác mệnh đề, cũng như cập nhật dữ liệu mà không có sự can thiệp của PHP ...

52 hữu ích 2 bình luận chia sẻ

answer

12

Tôi đã thực hiện một số phân tích về Mã hóa Json và Serialization trong PHP. Và tôi thấy rằng Json là tốt nhất cho dữ liệu thuần túy và đơn giản như mảng.

Xem kết quả thí nghiệm của tôi tại //www.shozab.com/php-serialization-vs-json-encoding-for-an-array/

12 hữu ích 1 bình luận chia sẻ

answer

8

Một lợi thế của json_encodehơn serializelà kích thước. Tôi nhận thấy rằng khi tôi đang cố gắng tìm ra lý do tại sao memcachebộ nhớ đã sử dụng của chúng ta ngày càng lớn và đang cố gắng tìm cách giảm thiểu là:

Chủ Đề