//读取用户所属用户组 $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']:'', ',')));
声明:本文为原创文章,版权归主机之家测评所有,欢迎分享本文,转载请保留出处!