小编典典

在PHP中序列化或json?

json

所以我需要用PHP编码数组并将其以纯文本格式存储在MySQL数据库中,我的问题是我应该使用serialize()还是json_encode()?它们各自的优缺点是什么?

我认为他们中的任何一个都会在这种情况下这样做。但是,您想要哪一个,为什么呢?如果用于数组以外的东西?


阅读 262

收藏
2020-07-27

共1个答案

小编典典

的主要优点serialize:它特定于PHP,这意味着 它可以表示PHP类型 ,包括您自己的类的实例-
并且在反序列化数据时,您将获得对象,仍然是类的实例。

json_encodeJSON的 主要优点是:JSON并非特定于PHP:有一些库可以用几种语言进行读取/写入-这意味着,如果您希望某些东西
可以用其他语言来处理, 那就比PHP 更好。

JSON字符串比序列化的字符串更容易 手工 读取/写入/修改。

另一方面,由于JSON并非特定于PHP,因此它不了解特定于PHP的内容-例如数据类型。

作为旁注:

  • 即使两者之间的速度差异很小,也没关系:您可能不会序列化/反序列化大量数据
  • 您确定这是在数据库中存储数据的最佳方法吗?
    • 在数据库中,您将无法对序列化的字符串进行很多查询:如果没有wherePHP的干预,您将无法使用子句中的数据,也无法对其进行更新…
2020-07-27