2010-07-27 326 views
2

关联数组,我想存储关联数组方含大多字符串和整数作为分贝值。存储在MySQL数据库

我在想:

  • 破灭/爆炸 - 需要找到分隔符,这将不会在价值观 - 因为它几乎是用户生成的,而不是安全
  • XML - 感觉来重型作业(创建/读取值)
  • JSON - 如果我只需要json_decode/json_encode工作,似乎完美

你觉得呢?

请不要转发我就这么喜欢这样的其他问题,我读过他们大多和我仍然不知道:)

回答

7
+1

做可能是即使JSON将存储更少的数据我想最好的解决办法之一什么是有用的。 看看这里太:http://www.php.net/manual/en/function.json-encode.php – 2010-07-27 07:58:46

+0

良好的SO的ressource反正:http://stackoverflow.com/questions/804045/preferred-方法来存储php-arrays-json-encode-vs-serialize/804053#804053 – 2010-07-27 08:01:42

+0

没有使用UTF的序列化问题? – 2010-07-27 09:36:28

2

这真的一切取决于您在数据库中获取该数据的方式。当然你可以序列化一个数组并把它放到你的字段中,但是如果你想用该数组中的数据执行查询呢?你必须拉出序列化数组,执行PHP函数,然后执行查询。

你需要解释什么是你想要实现这个关联数组数据。

+0

主要是内容的元数据:各种指令如何显示它,作者,日期和其他信息我不需要全面搜索。 – 2010-07-27 09:34:30

1

您可以在数组中写入serialize()或写入数据库时​​为json_encode(),从数据库中读取时可以写入json_decode()

1

还可以选择创建一个带有keyvalue列的表格,并将每个数组元素单独存储在该表格中。这似乎过多,但也取决于你想要的数据

+0

我不想这样做,因为每个新版本的内容都在数据库中保存为不同的“页面”,并且如果每个页面都有10对以上的内容,则对内容进行差异化或其他操作时会得到更多修订混乱或bazillion数据库操作。 – 2010-07-27 09:35:58