<?php $a = [ 'admin' => [ 'user', 'changeUser', ], 'user' => [ 'guest', 'updatePassword', ], 'guest' => [ 'login', 'admin', ], ]; $role = 'admin'; $permissions = $a[$role]; $groups = []; $final = []; while (!empty($permissions)) { $permission = array_shift($permissions); if (in_array($permission, $groups)) { continue; } if (!empty($a[$permission])) { array_push($groups, $permission); array_push($permissions, ...$a[$permission]); } else { $final[] = $permission; } } var_export($final);
You have javascript disabled. You will not be able to edit any code.