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

发布于 2024-11-07 19:18:25 字数 300 浏览 0 评论 0原文

我怎样才能读取这样的字符串?它们是什么意思?

a:10:{i:0;s:7:"默认";i:1;s:8:"故障安全";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";}

我见过很多使用这样的字符串的系统,将其存储在数据库中并解析以获取值。我怎样才能解析它们?

谢谢。

How can I read strings like that? What do they mean?

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";}

I've seen a lot of systems which use strings like that, stores it in the database and parse to get the values. How can I parse them?

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

ま柒月 2024-11-14 19:18:25

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

如果您想实际“读取”它而不反序列化它,您可以看到 "a:10" 表示具有 10 个索引的数组。 “i:0” 表示“索引零”,并与相应的值以分号分隔(“s:7” 是长度为 7 的字符串)。这些值以逗号分隔。类也可以被序列化。

This is a serialized string. Look at the results of var_dump(unserialize()). It is NOT a valid JSON-formatted string (json_decode() will return null).

If you want to actually "read" it without unserializing it, you can see "a:10" means array with 10 indices. "i:0" means "index zero" and is semicolon-separated with the corresponding value ("s:7" is a string of length 7). The values are comma separated. Classes can also be serialized.

久隐师 2024-11-14 19:18:25

它不是 JSON,而是序列化数组。使用unserialize()将其变成可用的东西。

It's not JSON, it is a serialized array. Use unserialize() to turn it into something usable.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文