Используйте функцию PHP unserialize
для декодирования таких строк.
десериализация PHP документы
Эта строка декодируется в этот массив следующим образом:
php > $f='a:8:{s:9:"max_inbox";i:50;s:13:"auto_add_link";b:1;s:9:"email_new";b:1;s:11:"email_reply";b:1;s:9:"email_add";b:1;s:13:"email_message";b:0;s:16:"threads_per_page";i:0;s:7:"version";s:3:"1.0";}';
php > var_dump(unserialize($f));
array(8) {
["max_inbox"]=>
int(50)
["auto_add_link"]=>
bool(true)
["email_new"]=>
bool(true)
["email_reply"]=>
bool(true)
["email_add"]=>
bool(true)
["email_message"]=>
bool(false)
["threads_per_page"]=>
int(0)
["version"]=>
string(3) "1.0"
}
Причина хранения таких данных заключается в том, что вы можете хранить несколько параметров в одном поле базы данных.
Хранение сериализованных массивов позволяет вам не беспокоиться о схеме вашей базы данных. Friendfeed, например, делает это с MySQL, и это также похоже на стиль систем хранения NoSQL, таких как MongoDB. Я предпочитаю использовать JSON, а не PHP-сериализацию.