【发布时间】:2012-01-16 19:09:31
【问题描述】:
在会话保存处理程序的写入函数中,$data 以如下格式传递:
测试|a:1:{s:3:"foo";s:3:"bar";}session|a:2:{s:10:"isLoggedIn";b:1;s:8: "clientId";s:5:"12345 ";}
有没有办法将其转换为正确的数组:
array
(
'test' => array
(
'foo' => 'bar'
)
'session' => array
(
'isLoggedIn' => true
'clientId' => '12345'
)
)
我尝试将其传递给反序列化,但出现以下错误:
unserialize() [function.unserialize]:95 个字节的偏移量 0 处出错
它只是返回 false。
【问题讨论】:
-
会话保存处理函数是什么样的?
-
请正确序列化字符串,不要使用自定义函数。
-
如果这是原始字符串,那么反序列化失败也就不足为奇了。它格式不正确。不要使用格式错误的输入。
-
写函数长什么样子?
标签: php session serialization