我如何解析这个字符串:a:10:{1:0; s:7:"default"; i:1; ...?

Dan*_*gno 4 php database deserialization

我该如何阅读这样的字符串?他们的意思是什么?

a:10:{i:0;s:7:"default";i:1;s:8:"failsafe";i:2;s:4:"foaf";i:3;s:4:"ical";i:4;s:2:"js";i:5;s:4:"json";i:6;s:6:"opendd";i:7;s:3:"php";i:8;s:3:"rss";i:9;s:3:"xml";}

我见过很多使用类似字符串的系统,将它存储在数据库中并解析以获取值.我该如何解析它们?

谢谢.

Exp*_*lls 8

这是一个序列化的字符串.看看结果var_dump(unserialize()).它不是有效的JSON格式的字符串(json_decode()将返回null).

如果你想在没有反序列化的情况下实际"读取"它,你可以看到"a:10"带有10个索引的means数组."i:0"表示"索引零",并以相应的值分隔分号("s:7"长度为7的字符串).值以逗号分隔.类也可以序列化.


Arj*_*jan 7

它不是JSON,而是序列化数组.用unserialize()它把它变成可用的东西.