Warning: Illegal string offset 'account' in 解决方法

比如这段代码:

if ( (!empty($_GPC['uniacid_source']) && $_GPC['uniacid_source'] == 'wxapp') ) {
$uniacid = intval($_GPC['uniacid']);
if (!empty($uniacid)) {
isetcookie('__uniacid', $uniacid, 7 * 86400);
$cache_lastaccount['account'] = $uniacid;
cache_write($cache_key, $cache_lastaccount);
}
} else {
$uniacid = $cache_lastaccount['account'];
}
报错的原因是
$cache_lastaccount数组里面有空数组,空数组里没有account这个字段。最终解决办法是:
只需要把红色的部分修改成:$uniacid = isset($cache_lastaccount['account']) ?$cache_lastaccount['account'] : '';
还有一个报错的原因是数据库储存的内容不正确,可以删除该字段。
 
原文地址:https://www.cnblogs.com/gaojunshan/p/6585814.html