PHP Unserialize Javascript序列化字符串

时间:2015-09-01 13:21:26

标签: javascript php serialization deserialization

美好的一天,

我有一个新脚本(对我而言),它允许您创建一个可拖动的树视图。

树结构的顺序可以改变并存储。 我设法发送并获取更新的结构。

但是我还没有成功地反序列化字符串。 在我要编写自己的逻辑来解码数组之前,我想知道PHP是否知道某些功能默认解决这个问题?

示例

我拥有的字符串:

spans-divs[0][id]=null&spans-divs[1][id]=null&spans-divs[1][children][0][id]=null&spans-divs[1][children][0][children][0][id]=null&spans-divs[2][id]=null&spans-divs[3][id]=null

生成此字符串的代码:

serialized[0].hash

我希望有人能告诉我我做错了什么。或者,如果这是一个可用的结构。

提前致谢

注意的 结果是由PHP写成一个名为test.txt

的文件

当我尝试得到结果时,我会这样尝试:

<?php
$cont   = file_get_contents('test.txt');
$Str    = parse_str($cont);
echo '->'.$Str.'<-';
?>

这会产生:&gt;&lt; 因此是一个空字符串。

以下是一个有效的解决方案:

<?php
$cont   = file_get_contents('test.txt');
parse_str($cont, $Str);
echo print_r($Str);
?>

(*从它出来的数组实际上是没用的*)但感谢

1 个答案:

答案 0 :(得分:0)

这就是你所需要的:

$arr = [];
$string = "spans-divs[0][id]=null&spans-divs[1][id]=null&spans-divs[1][children][0][id]=null&spans-divs[1][children][0][children][0][id]=null&spans-divs[2][id]=null&spans-divs[3][id]=null";
parse_str($string, $arr);
var_dump($arr);

来源:http://php.net/manual/en/function.parse-str.php