php unserialize函数出错,很奇怪?
PHP中文网
PHP中文网 2017-04-11 10:17:10
[PHP讨论组]
$test_str = "code|s:5:\"ZH9JC\";state|s:10:\"wn4rzbnxpp\";";
var_dump(unserialize($test_str));

这是代码,简单的字符串,但还是出错。。。

PHP中文网
PHP中文网

认证0级讲师

全部回复(5)
黄舟

序列化的$test_str是数组吗?明显不是serialize后的。如果是的话 序列化不是这个样子的,如下:

$arr = array(
            'code' => 'ZH9JC',
            'state' => 'wn4rzbnxpp'
        );

$str = serialize($arr);
dump($str);
// string(59) "a:2:{s:4:"code";s:5:"ZH9JC";s:5:"state";s:10:"wn4rzbnxpp";}"
$content = unserialize($str);
dump($content);
//
array(2) {
  ["code"] => string(5) "ZH9JC"
  ["state"] => string(10) "wn4rzbnxpp"
}
怪我咯

你这字符串不是 标准的序列化的值, unserialize 函数无法识别你这字符换,就抱错了

ringa_lee

$test_str确定是serialize的结果?

大家讲道理

这个不是序列化... 格式都不对

PHP中文网

不是序列化的,所以转不了

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号