PHP取消序列化数组中使用的数据-字符串中的次标准字符

PHP取消序列化数组中使用的数据-字符串中的次标准字符,php,jquery,arrays,serialization,Php,Jquery,Arrays,Serialization,我正在使用一个可嵌套表单的jQuery插件,并使用serialize(通过JS实现)将这些表单的顺序存储在数据库中。一旦我从数据库中检索到这些数据,我需要能够对其进行非序列化,以便可以使用每一段数据 序列化和存储的数据示例如下 [{"id":"H592736029375"},{"id":"K235098273598"},{"id":"B039571208517"}] 每个序列化数据中存储的ID的数量各不相同,JS插件在序列化周围添加了[和]括号 我曾经测试过数据的非序列化,结果证明使用prin

我正在使用一个可嵌套表单的jQuery插件,并使用serialize(通过JS实现)将这些表单的顺序存储在数据库中。一旦我从数据库中检索到这些数据,我需要能够对其进行非序列化,以便可以使用每一段数据

序列化和存储的数据示例如下

[{"id":"H592736029375"},{"id":"K235098273598"},{"id":"B039571208517"}]
每个序列化数据中存储的ID的数量各不相同,JS插件在序列化周围添加了[和]括号

我曾经测试过数据的非序列化,结果证明使用print\r是成功的。我已尝试使用以下代码复制此代码:

<?php
print_r(unserialize('[{"id":"H592736029375"},{"id":"K235098273598"},{"id":"B039571208517"}]'));
?>
一旦我有了未序列化的数据,我需要能够使用每个ID作为变量,我假设这样做,我需要做一些事情,如:

<?php
$array = unserialize('[{"id":"H592736029375"},{"id":"K235098273598"},{"id":"B039571208517"}]');

foreach($array as $key => $val)
{
    // Do something here, use each individial ID however
    // e.g database insert using $val['id']; to get H592736029375 then K235098273598 and finally B039571208517
}
?>
PHP和函数是特定于PHP的,不用于与其他语言通信

看起来JS serialize函数实际上是在生成JSON,所以在PHP方面,使用而不是取消序列化

产出:

0) H592736029375 
1) K235098273598 
2) B039571208517
PHP和函数是特定于PHP的,不用于与其他语言通信

看起来JS serialize函数实际上是在生成JSON,所以在PHP方面,使用而不是取消序列化

产出:

0) H592736029375 
1) K235098273598 
2) B039571208517

这是完美的,非常感谢你的回答!这是完美的,非常感谢你的回答!
0) H592736029375 
1) K235098273598 
2) B039571208517