//读取用户所属用户组 $groups = $this->getGroups($uid); $ids = array();//保存用户所属用户组设置的所有权限规则id foreach ($groups as $g) { $ids = array_merge($ids, explode(',', trim($g['rules'], ','))); }
上面的代码在运行过程中会报:Illegal string offset 'rules'的,经过检查发现错误原因如下:
$groups是一个二维数组,在循环过程中产生了空数组$g或者不包含rules键的数组$g。
解决办法就是在循环过程中判断是否存在$g['rules'],具体代码如下:
$ids = array_merge($ids, explode(',', isset($g['rules')?trim($g['rules']:'', ',')));
未经允许不得转载:吾爱主机之家 » Illegal string offset ‘xxx’的解决办法