【问题标题】:Using raw array text as input for array in PHP在 PHP 中使用原始数组文本作为数组的输入
【发布时间】:2015-04-13 18:03:04
【问题描述】:

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

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

文本的格式如下:

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

所以真实数据看起来像:

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

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

【问题讨论】:

    标签: php arrays wordpress serialization deserialization


    【解决方案1】:

    数据:

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

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

    如果你运行:

    $val = unserialize($serialized_value);
    

    你会得到原来的值。

    【讨论】:

    • 谢谢!!这正是我想要的。
    猜你喜欢
    • 1970-01-01
    • 2010-11-03
    • 2012-08-22
    • 2021-12-03
    • 2019-08-03
    • 2017-04-14
    • 1970-01-01
    • 2014-04-18
    • 1970-01-01
    相关资源
    最近更新 更多