所以我需要在 PHP 中编码一个数组并将其以纯文本形式存储在 MySQL 数据库中,我的问题是我应该使用 serialize() 还是 json_encode()?它们各自的优缺点是什么?
我认为在这种情况下他们中的任何一个都会这样做。但是你更喜欢哪一个,为什么?如果它是用于数组以外的东西?
最佳答案
serialize
的主要优点:它特定于 PHP,这意味着 它可以表示 PHP 类型,包括您自己的类的实例——您将获得您的对象反序列化数据时,仍然是类的实例。
json_encode
的主要优点:JSON 并不特定于 PHP:有库可以用多种语言读/写它——这意味着如果你想要 可以用另一种语言操作的东西会更好 比 PHP。
JSON 字符串也比序列化字符串更容易手动读取/写入/修改。
另一方面,由于 JSON 不是 PHP 特有的,它不知道 PHP 特有的东西——比如数据类型。
作为一些旁注:
where
子句中使用您的数据,也无法在没有 PHP 干预的情况下更新它。 ..https://stackoverflow.com/questions/2574728/