在php在线测试平台上写了一些代码以获取序列化后的字符串,
<?php
class WXParams
{
public $mch_id;
function __construct($mch_id)
{
$this->mch_id = $mch_id;
}
}
$wxParams = new WXParams("aaaaa1");
echo serialize($wxParams);
?>
获得字符串如下:
O:8:"WXParams":1:{s:6:"mch_id";s:6:"aaaaa1";}
之后,写入数据库,然后反序列化的时候就报了“__PHP_Incomplete_Class_Name”问题,网上说的解决办法有点复杂啊,就暂时用array强制转换了。
后来在自己代码序列化得到的,再反序列化出来的就没问题。
原因居然是自己代码反序列化的时候,类前面还带上了路径,如下:
O:24:"Home\Controller\WXParams":1:{s:6:"mch_id";s:6:"aaaaa1";}
现在就正常反序列化成功了。