【问题标题】:error when unserialize the serialize data反序列化序列化数据时出错
【发布时间】:2013-07-31 09:43:20
【问题描述】:

序列化数据是

      a:8:{s:10:"First_Name";s:6:"harish";s:9:"Last_Name";s:5:"verma";
s:5:"Email";s:16:"harish@facebook.com";s:7:"Address";s:6:"jaipur";s:4:"City";s:6:"Jaipur";s:5:"State";
    s:9:"Rajasthan";s:12:"Country_Name";s:5:"India";s:7:"Cell_No";s:10:"8787878787";}

当我们将电子邮件更改为 harish@gmail.com 时,它返回 true .... 请提前帮助和感谢。

【问题讨论】:

  • harish@gmail.comharish@facebook.com ??令人困惑......你到底想做什么??
  • @bipen 当我们使用 harish@facebook.com 时返回 false ...当我们将其更改为 harish@gmail.com 时返回 true。
  • 需要更多信息,问题不清楚。什么返回真假?
  • harish@facebook.com 应该是s:19,而不是s:16:请不要告诉我你在手动编辑序列化数据!
  • @MarkBaker 是的,你是 rite 。非常感谢

标签: php serialization


【解决方案1】:

如果您注意到序列化数据中有此部分定义了电子邮件地址

s:16:"harish@facebook.com";

也就是说这个字段是一个 16 个字符的字符串。 字段中的字符串不是 16 个字符它的 19 个字符

所以我猜你是在正确serialize()'d

之后手动摆弄数据

如果您要手动处理序列化数据,您还必须将它们全部加起来。所以要么停止手动编辑它并正确地重新serialize()数据,要么记住还要更改大小参数数据以匹配您的编辑。

【讨论】:

    猜你喜欢
    • 2016-05-18
    • 1970-01-01
    • 2014-11-18
    • 1970-01-01
    • 1970-01-01
    • 2012-02-28
    • 1970-01-01
    • 2023-04-06
    • 1970-01-01
    相关资源
    最近更新 更多