使用原始数组文本作为PHP中数组的输入

时间:2015-02-12 20:20:33

标签: php arrays wordpress serialization deserialization

我需要能够在一个大型阵列上运行一些内置的PHP函数,这些函数来自一个损坏的wordpress数据库,除了csv文件之外我没有备份。具体来说,wp_options表是混乱的,因为该站点使用的主题数组中的某些值嵌套了几层太深,并且在option_value db单元格中切断了大约100个选项值。

我希望能够挽救我在原始csv中的选项,并将其添加到来自该主题的虚拟内容的股票价值选项中,并从那里继续收回我能做的事情。复制/粘贴到数据库中是行不通的,因为并非主题使用的所有值都存在,因此它在某处破坏了PHP脚本。

文本的格式如下:

  

[数据类型]:[#items]:[data];
  [另一种]:[#items]:[更多数据];

所以真正的数据看起来像:

  

一个:3:{S:6:" ABCDEF&#34 ;; I:1:5;一个:0:{}}

有没有什么方法可以采用这种原始文本格式并将其输入到php中的变量中以将其用作数组数据类型?基本上我会循环遍历虚拟内容数组中的所有键,并检查备份数组中是否有值,如果是,请将其替换为备份值。如果没有,请留在那里。

1 个答案:

答案 0 :(得分:0)

数据:

a:3:{s:6:"abcdef";i:1:5;a:0:{}}

是使用PHP serialize()函数序列化的数组。

如果你跑:

$val = unserialize($serialized_value);

您将获得原始值。