php输出数组变成了对象

foreach ($rule as $key=>$value) {
     $data['role']['permissions'][$key] = [
         'roleId' => $info['title'],
         'permissionId' => $value['name'],
         'permissionName' => $value['title'],
         'actionList' => null,
         'dataAccess' => null
     ];
     foreach ($value['children'] as $k=>$v) {
         $data['role']['permissions'][$key]['actionEntitySet'][$k] = [
         'action' => $v['condition'],
         'describe' => $v['title'],
         'defaultCheck' => false
         ];
     }
}

为什么父遍历得到的$data['role']['permissions'][$key]是个对象,而子遍历得到的$data['role']['permissions'][$key]['actionEntitySet'][$k]却是数组?
父遍历我想得到的是数组该怎么写才对?
image

阅读 2.8k
3 个回答

如果是api返回给前端的json数据,你需要保证的你的数组索引是连续的数字索引,需要使用array_values

看了一下,"actionEntitySet"有的输出对象有的输出数组,看你这段代码是没有问题,看下是否是其他的地方对结果做了一下处理

array_values

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题