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

Using raw array text as input for array in PHP

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

我希望能够挽救我在原始 csv 中拥有的选项,并将其添加到来自该主题的虚拟内容的股票价值选项中,然后从那里尽可能地收回。 Copy/pasting 进入数据库不起作用,因为并非主题使用的所有值都在那里,所以它在某处破坏了 php 脚本。

文本格式如下:

[data type]:[#items]:[data];
[another type]:[#items]:[more data];

所以真实数据看起来像:

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

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

数据:

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

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

如果你运行:

$val = unserialize($serialized_value);

您将取回原始值。