8

取得を容易にするために、データベースに文字列として格納している配列があります(cronを介して15〜30分ごとに新しいデータで更新されます)。

'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問題ないように見えますか?...

4

2 に答える 2

18

オブジェクトから文字列へ、および文字列からオブジェクトへの変換が必要な場合は、シリアライゼーションだけで十分であり、オブジェクトはそれをサポートする必要があります。

あなたの場合、配列を使用すると、シリアル化がサポートされます。

配列から文字列へ

$strFromArr = serialize($Arr);

文字列から配列へ

$Arr = unserialize($strFromArr);

詳細については、php.net の Web サイトを参照してください

于 2013-02-16T13:28:02.347 に答える
3

配列をデータベースに格納する必要がある場合は、serialize()関数を使用します。それは素晴らしいです!

http://php.net/manual/en/function.serialize.php

$string = serialize($array);

$array = unserialize($string);

于 2013-02-16T13:28:23.100 に答える