, ...} $permissionComparison */ public function calculate(array $permissionComparison): int { $permissions = $permissionComparison['permissions'] ?? []; if (! is_array($permissions)) { return 100; } $requiredCount = count($permissions); if ($requiredCount === 0) { return 100; } $grantedCount = 0; foreach ($permissions as $permission) { if (is_array($permission) && ($permission['status'] ?? null) === 'granted') { $grantedCount++; } } return (int) round($grantedCount / $requiredCount * 100); } }