2010-07-27 272 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