Illegal string offset ‘xxx’的解决办法

  //读取用户所属用户组  $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’的解决办法