在coldfusion中反序列化PHP数组
我正在从事一个Coldfusion项目,需要从wordpress支持的数据库中提取一些信息。我需要的一些信息存储在wp_options表中的序列化数组中。我不知道如何在Coldfusion中反序列化数组数据 我目前正在使用Coldfusion 8的开发版本。我无法升级到Coldfusion 9,因为我的works应用程序是基于Coldfusion 8构建的 我只能找到这个关于反序列化CFC的链接,但在我传递的数组上它似乎不起作用 下面是我试图反序列化的数据示例在coldfusion中反序列化PHP数组,php,wordpress,coldfusion,Php,Wordpress,Coldfusion,我正在从事一个Coldfusion项目,需要从wordpress支持的数据库中提取一些信息。我需要的一些信息存储在wp_options表中的序列化数组中。我不知道如何在Coldfusion中反序列化数组数据 我目前正在使用Coldfusion 8的开发版本。我无法升级到Coldfusion 9,因为我的works应用程序是基于Coldfusion 8构建的 我只能找到这个关于反序列化CFC的链接,但在我传递的数组上它似乎不起作用 下面是我试图反序列化的数据示例 a:2:{i:2;a:2:{s:5
a:2:{i:2;a:2:{s:5:"title";s:0:"";s:6:"number";i:5;}s:12:"_multiwidget";i:1;}
任何帮助都会很好。好吧,这是PHP序列化的结果-我假设CF使用完全不同的过程。模式似乎非常简单:
datatype:size:structure
或
所以
表示“大小为2{integer 2;字符串'foo'大小为3}的数组”。请注意,数组可以嵌套,对象和其他序列化类会使事情变得复杂(请参阅)。如果可以将PHP数组序列化为JSON字符串,则可以在CF端使用反序列化JSON。您最好的选择可能是查看Sean Corfield的项目。我可以用它做以下事情:
<script:php>
<?php
$array = unserialize('a:2:{i:2;a:2:{s:5:"title";s:0:"";s:6:"number";i:5;}s:12:"_multiwidget";i:1;}');
$_COLDFUSION["test"] = json_encode($array);
?>
</script:php>
<cfdump var="#deserializeJSON(variables.test)#">
如果可能的话,我会遵循这条路径。同意-PHP可以导出JSON,几乎所有其他语言都可以导入它。这绝对是首选的格式。谢谢,这是一个简单的解决方案,我已经仔细看过了。我能够编写一个快速插件,将小部件数据的副本存储在JSON中。您可以更进一步,在CF中设置字符串,然后在php端像这样将其拉出:$array=unserialize($_COLDFUSION[“serializedString]”);
a:2:{i:2;s:3:"foo"}
<script:php>
<?php
$array = unserialize('a:2:{i:2;a:2:{s:5:"title";s:0:"";s:6:"number";i:5;}s:12:"_multiwidget";i:1;}');
$_COLDFUSION["test"] = json_encode($array);
?>
</script:php>
<cfdump var="#deserializeJSON(variables.test)#">