$v ) { $newData[] = $v; $permissions = self::putInPermissionTree($out[1].".".$k, $v, $permissions); } } return $permissions; } private function putInPermissionTree($permission, $description, $tree) { $subPermissions = explode('.', $permission); $original =& $tree; foreach ($subPermissions as $subPermission) { if ($subPermission) { if (!array_key_exists($subPermission, $tree)) { $tree[$subPermission] = array(); } $tree =& $tree[$subPermission]; } } $tree = $description; return $original; } }