我的PHP代码序列化,但不';不序列化
这是我的密码我的PHP代码序列化,但不';不序列化,php,serialization,Php,Serialization,这是我的密码 $data = array( '24 Jan|8:30' => '12.6', '22 Feb|8:30' => '250', '11 Mar|8:10' => '0', '31 Apr|23:30' => '7', '32 Apr|23:30' => '80', '33 Apr|23:30' => '67', '34 r|23:30'
$data = array(
'24 Jan|8:30' => '12.6',
'22 Feb|8:30' => '250',
'11 Mar|8:10' => '0',
'31 Apr|23:30' => '7',
'32 Apr|23:30' => '80',
'33 Apr|23:30' => '67',
'34 r|23:30' => '45',
'35 Ap|23:30' => '66',
'34 Lr|23:30' => '23',
'3 Apr|23:30' => '23'
);
//echo serialize($data);
$x = unserialize('a:10:{s:12:"24 Jan|8:30 ";s:4:"12.6";s:12:"22 Feb|8:30 ";s:3:"250";s:12:"11 Mar|8:10 ";s:1:"0";s:12:"31 Apr|23:30";s:1:"7";s:12:"32 Apr|23:30";s:2:"80";s:12:"33 Apr|23:30";s:2:"67";s:12:"34 r|23:30 ";s:2:"45";s:12:"35 Ap|23:30 ";s:2:"66";s:12:"34 Lr|23:30 ";s:2:"23";s:12:"3 Apr|23:30 ";s:2:"23";}');
var_dump($x);
在非串行化功能中不工作。
请帮忙 $data的序列化表示形式与尝试取消序列化的字符串不同
$a = serialize($data);
$x = unserialize($a);
在偏移量199处,您可以看到
s:12:"34 r|23:30 "
但是字符串(s
)不是12个字符长(这就是s:12:
的意思)。我想是有什么东西直接修改了序列化字符串。只是不要这样做:)始终取消序列化并使用结构化值
'a:10:{s:12:"24 Jan|8:30 ";s:4:"12.6";s:12:"22 Feb|8:30 ";s:3:"250";s:12:"11 Mar|8:10 ";s:1:"0";s:12:"31 Apr|23:30";s:1:"7";s:12:"32 Apr|23:30";s:2:"80";s:12:"33 Apr|23:30";s:2:"67";s:12:"34 r|23:30 ";s:2:"45";s:12:"35 Ap|23:30 ";s:2:"66";s:12:"34 Lr|23:30 ";s:2:"23";s:12:"3 Apr|23:30 ";s:2:"23";}'
…不是有效的序列化。具体来说,s:12:“34r | 23:30”代码>段表示字符串34 r | 23:30
包含12个字符,但它不包含12个字符。可能的重复