我有以下函数返回一个数组。我想改变它的输出格式

时间:2017-04-21 12:24:35

标签: php arrays

function Authorize(){


      if ($this->session->userdata('login_in') != 'TRUE') {
          redirect('Login', 'refresh');
      }

      $user_group_id = $this->session->userdata('user_group');

      if ($user_group_id != '') {
          $pre = $this->db->get_where('afro_user_group', array(
              'user_group_id' => $user_group_id
          ))->row();
          $this->Authorize = $pre;
          $array =  (array) $pre;
          $select = 'all';
          foreach ($array as $key => $value) {
              if ($value == 't'){
                  $select .= ',' ."'". $key."'";
              }
          }
            $array = (array) $select;
          $Authorized = array_map('strtoupper', $array);

        //die(print_r($Authorized));
         return $Authorized ;
      }
  }
}

dumping $ Authorized给出以下结果。

Array ( [0] => 'ALL','USER_GROUP_STATUS','USER_GROUP_HAS_PERMISSION_CREATE_DEPARTMENT' )

我想像这样转换它......为了使用array_search,数组过滤器函数。

Array ( [0] => Array ( [0] => ALL [1] => USER_GROUP_STATUS [2] => USER_GROUP_HAS_PERMISSION_CREATE_DEPARTMENT) 

我该怎么做。

1 个答案:

答案 0 :(得分:0)

更改

return $Authorized ;

$Authorized_new_format = explode(",", $Authorized[0]);
return [$Authorized_new_format];

这会破坏字符串的爆炸并转换为多维数组;