1. <?php
  2. /**
  3. * Maps URL parameters for backward compatibility with retry logic.
  4. *
  5. * @param array $params The original URL parameters.
  6. * @param array $mapping An associative array mapping old parameter names to new parameter names.
  7. * @return array The mapped array of parameters.
  8. */
  9. function mapUrlParamsForRetry(array $params, array $mapping): array
  10. {
  11. $mappedParams = [];
  12. foreach ($params as $key => $value) {
  13. // Check if the key exists in the mapping
  14. if (isset($mapping[$key])) {
  15. $newKey = $mapping[$key];
  16. // Add the value with the new key
  17. $mappedParams[$newKey] = $value;
  18. } else {
  19. // If no mapping exists, keep the original key and value
  20. $mappedParams[$key] = $value;
  21. }
  22. }
  23. return $mappedParams;
  24. }
  25. // Example Usage:
  26. // $originalParams = ['old_param1' => 'value1', 'old_param2' => 'value2', 'new_param' => 'value3'];
  27. // $mapping = ['old_param1' => 'new_param_a', 'old_param2' => 'new_param_b'];
  28. // $mappedParams = mapUrlParamsForRetry($originalParams, $mapping);
  29. // print_r($mappedParams);
  30. ?>

Add your comment