【问题标题】:PHP Unserialize Javascript serialized stringPHP反序列化Javascript序列化字符串
【发布时间】:2015-11-26 18:14:17
【问题描述】:

早安,

我有一个新脚本(对我来说是这样),它允许您创建可拖动的树视图。

树形结构的顺序可以更改,也可以存储。 我设法发送和获取更新的结构。

但是我还没有成功反序列化字符串。 在我编写自己的逻辑来解码数组之前,我想知道 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.'<-';
?>

这会产生:>

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

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

(* 从中产生的数组实际上毫无用处 *) 但是谢谢

【问题讨论】:

  • 不是 100% 确定,但 parse_str 可能会成功?
  • 很遗憾没有。这个我已经试过了。
  • 你用错了。 3v4l.org/a9SkG 或尝试使用字符串中的名称访问变量。只需阅读文档了解如何使用它。

标签: javascript php serialization deserialization


【解决方案1】:

这就是你所需要的:

$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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-10
    • 2018-10-22
    • 2020-08-04
    • 1970-01-01
    • 1970-01-01
    • 2023-03-23
    • 2021-10-21
    • 2019-08-22
    相关资源
    最近更新 更多