Computer >> Máy Tính >  >> Lập trình >> PHP

Phương thức ưa thích để lưu trữ mảng PHP (json_encode hoặc serialize)?


Điều này phụ thuộc vào yêu cầu hiện có.

JSON nhanh hơn so với tuần tự hóa PHP trừ khi các điều kiện sau được đáp ứng−

  • Các mảng lồng nhau sâu được lưu trữ.
  • Các đối tượng được lưu trữ cần phải được giải mã thành một lớp thích hợp.
  • Sự tương tác giữa các phiên bản PHP cũ không hỗ trợ json_decode.

Dòng mã dưới đây có thể được sử dụng để lưu trữ các mảng PHP bằng json_encode−

json_encode($array, JSON_UNESCAPED_UNICODE)

JSON không lưu trữ lớp ban đầu của đối tượng ở bất kỳ đâu, nhưng nó có thể được khôi phục dưới dạng các thể hiện lớp thuộc stdClass.

Tại sao sử dụng json_encode thay vì tuần tự hóa?

  • JSON di động hơn nhiều so với tuần tự hóa.
  • Không thể tận dụng các tính năng của __sleep () và __wakeup () bằng JSON.
  • Theo mặc định, các thuộc tính công khai được tuần tự hóa bằng JSON. (Nếu phiên bản PHP> =5.4, JsonSerializable có thể được triển khai để thay đổi hành vi).

Ví dụ

<?php
   // Array is declared
   $value = array(
      "name"=>"name_me",
      "email"=>"myemail.com"
   );
   // json_encode() function is used
   $json = json_encode($value);
   // Displaying output
   echo($json);
?>

Đầu ra

Điều này sẽ tạo ra kết quả sau−

{"name":"name_me","email":"myemail.com"}