Warning: Illegal string offset 'account' in 解決方法
阿新 • • 發佈:2019-01-31
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 = $cache_lastaccount['account'];修改成:$uniacid = isset($cache_lastaccount['account']) ?$cache_lastaccount['account'] : '';
還有一個報錯的原因是資料庫儲存的內容不正確,可以刪除該欄位。