许多php项目中运用序列化serialize字符串存取、解析变量,或者保存到数据库字段中,不是Json格式、XML格式,是一种特有的结构,如果不注意删除的部分字符,就会解析不正确,报错导致程序运行不正常了。最近有个项目中,因为程序导致存取在数据库中字段的序列号字符串丢失,需要恢复数据,就需要对结构熟悉,才能解决问题。下面我们对这个序列化字符串进行说明。
格式类似json,但是有很大区别,其中的标识需要计算长度
如图及说明,需要注意的是,其中s:3:'img' ,这个需要计算字符串的长度3,就是按字符的个数来数,如果长度不对,解析就不对了,如果自己计算的话,如果比较长,建议可以复制到带标尺的文本编辑器中,查看长度,但是其中如果包含中文的话,需要另行算长度,一个中文长度为3,不是1,这个要注意,然后和其他英文字符相加汇总,得到字符串总长度。
本文持续改进完善...