У меня есть массив, который я храню в виде строки в базе данных, чтобы упростить ее получение (обновляется с новыми данными каждые 15-30 минут через cron).Преобразование Array в String to Array
'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']) : '';
настоящее время я использую следующее извлечь, а затем преобразовать строку обратно в массив в подготовке к Еогеасп:
$players = $server_live->player_list;
$playersArray = explode(",", $players);
$plugins = $server_live->plugin_list;
$pluginsArray = explode(",", $plugins);
По какой-то причине я получаю следующую ошибку: Array to string conversion
Я не понимаю эту ошибку, так как я перехожу из String в Array, и я просмотрел php.net/manual
, и это выглядит хорошо? ...
Вы не должны хранить несколько данных в одном столбце базы данных. Если вы собираетесь это сделать, вы можете использовать текстовый файл вместо DB. Вы должны найти способ правильно упорядочить свои данные. –
Я чувствовал, что в моем случае все в порядке, поскольку хранилище данных является эксклюзивным для определенной строки. Я собираю список онлайн-игроков во время ping и сохраняю его как строку для удобства, так как он обновляется каждые ~ 15-30 минут. Я подумал о отдельной таблице, но в итоге это будет миллионы строк ... – MCG
Если вы абсолютно должны хранить несколько значений в одном столбце, 'serialize()' массив и сохранить результат. –