我不太了解WordPress,但我在插件创建的DB中看到了一些序列化数据。这个插件工作得很好,所以我想它也可以取消序列化。
当尝试取消序列化()它时,它会失败,var\\u dump会显示bool(false)作为结果。
这是我在数据库中看到的字符串:
a:1:{i:0;a:3:{s:4:"name";s:56:"Song → Black Meen : “So Clean (feat. Dullaah Jin)”";s:4:"file";s:98:"http://localhost/peace.worldwide/wp-content/uploads/2013/05/03-So-Clean-feat.-Dullaah-Jin.mp3";s:9:"condition";s:3:"all";}}
您可能会注意到长度字段与引号中的值的长度不匹配。
这是怎么回事?如何取消序列化此数据?
最合适的回答,由SO网友:Frank P. Walentynowicz 整理而成
正确的序列化字符串为:
a:1:{i:0;a:3:{s:4:"name";s:56:"Song → Black Meen : “So Clean (feat. Dullaah Jin)”";s:4:"file";s:93:"http://localhost/peace.worldwide/wp-content/uploads/2013/05/03-So-Clean-feat.-Dullaah-Jin.mp3";s:9:"condition";s:3:"all";}}
第二个长字符串(键“file”的值)的长度98不正确,应该是93。您可能会问,为什么第一个长字符串(键“name”的值)的长度为56。看起来应该是50。此字符串包含三个特殊字符(→ “和”),其长度各为3,因此最终长度为50+(3*2)=56。