简体   繁体   中英

Array to String to Array conversion

I have an array that I'm storing as a string in a database to make it easier to retrieve (it's refreshed with new data every 15-30minutes via cron).

'player_list' -> 'Bob,Dave,Jane,Gordy'
'plugin_list' -> 'Plugin-A 1.4, Plugin-B 2.1, Plugin-C 0.2'

I originally store the array into the db as a string using:

 $players = $liveInfo['players'] ? implode(",", $liveInfo['players']) : '';

 $plugins = $liveInfo['plugins'] ? implode(",", $liveInfo['plugins']) : '';

I am currently using the following to retreive and then convert string back into array in preparation for a foreach:

 $players = $server_live->player_list;
 $playersArray = explode(",", $players);
 $plugins = $server_live->plugin_list;
 $pluginsArray = explode(",", $plugins);

For some reason, I am getting the following error: Array to string conversion I don't understand this error since I'm going from String to Array and I looked over the php.net/manual and it looks fine?...

If you need to convert from Object to String and from String to Object, then serialization is all you need to do, and you object should be supporting it.

in your case, Using Arrays, serialization is supported.

Array to String

$strFromArr = serialize($Arr);

String to Array

$Arr = unserialize($strFromArr);

for more information consider seeing the php.net website: serialize unserialize

If you must do it your way, by storing the array in the database, use the serialize() function. It's awesome!

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

$string = serialize($array);

$array = unserialize($string);

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM