user_model = new UserModel(); $this->group_user_model = new GroupUserModel(); $this->group_model = new UserGroupModel(); } public function index() { /////////////////////////////////7 // Join groups access rules /*$user_token = "a4a60f9f064218b09cf108418e585507"; $groups = $this->group_user_model ->select('token_group') ->where('token_user', $user_token)->findAll(); if(sizeof($groups)>0){ $rules = html_entity_decode($this->group_model->select('rules')->where('token',$groups[0]['token_group'])->first()['rules']); } for ($i = 1; $igroup_model->select('rules')->where('token',$groups[$i]['token_group'])->first()['rules']); $rules = json_encode( array_merge( json_decode($rules, true), json_decode($this->group_model->select('rules')->where('token',$groups[$i]['token_group'])->first()['rules'], true) ) ); } */ $rules1 = '{"token":["token"],"Group":["index","add","edit","store","delete"],"My":["index","notification","notification_view"],"Notification":["index","add","store","delete"],"Profile":["index","store"],"User":["index","add","edit","store","delete"]}'; $rules2 = '{"token":["token"],"Activity":["index"],"Group":["edit"],"My":["notification"]}'; $new_rules = []; echo '
';
        var_dump($rules1);
        var_dump(json_decode($rules1, true));
        echo '
'; foreach (json_decode($rules1, true) as $key => $value){ if (array_key_exists($key, json_decode($rules2, true))){ $value2 = json_decode($rules2, true)[$key]; $new_rules[$key] = array_unique(array_merge($value, $value2)); } else{ $new_rules[$key]= $value; } } foreach (json_decode($rules2, true) as $key2 => $value2){ if (!array_key_exists($key2, json_decode($rules1, true))){ $new_rules[$key2] = $value2; } } echo '
';
        var_dump($new_rules);
        echo '
'; } }