我有一個數組,我將其作爲字符串存儲在數據庫中,以便更容易檢索(每隔15-30分鐘通過cron刷新一次新數據)。數組以字符串到數組的轉換
'player_list' -> 'Bob,Dave,Jane,Gordy'
'plugin_list' -> 'Plugin-A 1.4, Plugin-B 2.1, Plugin-C 0.2'
我最初使用存儲陣列到數據庫作爲一個字符串:
$players = $liveInfo['players'] ? implode(",", $liveInfo['players']) : '';
$plugins = $liveInfo['plugins'] ? implode(",", $liveInfo['plugins']) : '';
我目前使用以下中檢索,然後將字符串轉換回陣列中準備一個foreach:
$players = $server_live->player_list;
$playersArray = explode(",", $players);
$plugins = $server_live->plugin_list;
$pluginsArray = explode(",", $plugins);
出於某種原因,我得到以下錯誤:Array to string conversion
我不明白這個錯誤,因爲我要從字符串到數組,並且我查看了php.net/manual
它看起來不錯?...
你不應該存儲在一個數據庫中列多個數據。如果你打算這樣做,你可以使用文本文件而不是數據庫。您應該找到一種方法來正確組織數據。 – 2013-02-16 13:20:11
我覺得這很好,因爲數據存儲是專用於特定行的。我在Ping的時候抓取了一個在線玩家列表,並將它作爲一個字符串存儲,因爲它每15-30分鐘更新一次。我想過一個單獨的表,但它最終會有數百萬行... – MCG 2013-02-16 13:24:24
如果您絕對必須在一列中存儲多個值,請'serialize()'數組並存儲結果。 – 2013-02-16 13:27:01