PHP反序列化Javascript序列化字符串

PHP Unserialize Javascript serialized string

本文关键字:字符串 序列化 Javascript 反序列化 PHP      更新时间:2023-09-26

大家好,

我得到了一个新的脚本(对我来说是),允许你创建一个可拖动的树视图。

树形结构的顺序可以更改,也可以存储。我成功地发送并获取了更新的结构。

但是我还没有成功地反序列化字符串。在我要写我自己的逻辑来解码数组之前,我想知道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
我希望有人能告诉我我做错了什么。或者如果这是一个可用的结构

Thanks in advance

注意PHP将结果写入名为test.txt

的文件中。

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

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

产生:><因此为空字符串。>

下面是一个可行的解决方案:

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

(*从它出来的数组实际上是相当无用的*)但是THANKS

这就是你所需要的:

$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