在 PHP 中序列化还是 json?
2022-08-30 10:36:51
所以我需要用PHP编码一个数组,并将其以纯文本形式存储在MySQL数据库中,我的问题是我应该使用serialize()还是json_encode()?它们中的每一个的优点和缺点是什么?
我认为他们中的任何一个在这种情况下都会这样做。但是你更喜欢哪一个,为什么?如果它是用于数组以外的其他内容?
所以我需要用PHP编码一个数组,并将其以纯文本形式存储在MySQL数据库中,我的问题是我应该使用serialize()还是json_encode()?它们中的每一个的优点和缺点是什么?
我认为他们中的任何一个在这种情况下都会这样做。但是你更喜欢哪一个,为什么?如果它是用于数组以外的其他内容?
它的主要优点是PHP特有的,这意味着它可以表示PHP类型,包括你自己类的实例 - 当你取消序列化你的数据时,你会拿回你的对象,仍然是你的类的实例。serialize
JSON的主要优点不是PHP所特有的:有几种语言的库可以读/写它 - 这意味着如果你想要一些可以用另一种语言而不是PHP操纵的东西,那就更好了。json_encode
JSON 字符串也比序列化字符串更容易手动读取/写入/修改。
另一方面,由于JSON不是特定于PHP的,因此它不知道特定于PHP的东西 - 例如数据类型。
作为一些旁注:
where
我对PHP中的Json编码与序列化进行了一些分析。我发现Json最适合像数组这样的简单数据。
在 https://www.shozab.com/php-serialization-vs-json-encoding-for-an-array/ 查看我的实验结果