1. <?php
  2. /**
  3. * Decodes URL parameters for development purposes.
  4. *
  5. * This function decodes URL parameters using raw PHP functions.
  6. * It's intended for development and debugging, not for production use where
  7. * security and robustness are paramount.
  8. *
  9. * @param array $queryString An array representing the URL query string.
  10. * Keys are parameter names, values are parameter values.
  11. * @return array An array of decoded parameter values. Returns empty array on failure.
  12. */
  13. function decodeUrlParams(array $queryString): array
  14. {
  15. $decodedParams = [];
  16. if (empty($queryString)) {
  17. return $decodedParams;
  18. }
  19. foreach ($queryString as $paramName => $paramValue) {
  20. // Decode URL-encoded characters
  21. $decodedParams[$paramName] = urldecode($paramValue);
  22. }
  23. return $decodedParams;
  24. }
  25. // Example usage (for testing)
  26. /*
  27. $queryString = ['name' => 'John %20Doe', 'age' => '30', 'city' => 'New%20York'];
  28. $decodedParams = decodeUrlParams($queryString);
  29. print_r($decodedParams);
  30. */
  31. ?>

Add your comment