$data 数据数组 * @param array $sensitiveFields 敏感字段列表(如:['id_card', 'phone', 'email']) * @return array 脱敏后的数组 */ public static function maskArray(array $data, array $sensitiveFields = ['id_card', 'id_card_encrypted', 'phone', 'email']): array { $masked = $data; foreach ($sensitiveFields as $field) { if (isset($masked[$field]) && is_string($masked[$field])) { switch ($field) { case 'id_card': case 'id_card_encrypted': $masked[$field] = self::maskIdCard($masked[$field]); break; case 'phone': $masked[$field] = self::maskPhone($masked[$field]); break; case 'email': $masked[$field] = self::maskEmail($masked[$field]); break; } } } return $masked; } }