Is there a more efficient method than using parse_str followed by a foreach loop to normalize query string keys and values in PHP?

The issue is that using parse_str followed by a foreach loop to normalize query string keys and values in PHP can be inefficient and cumbersome. A more efficient method would be to use the parse_url function to extract the query string, then use parse_str to parse the query string into an associative array.

// Sample query string
$queryString = "name=John%20Doe&age=30&city=New%20York";

// Extract query string from URL
$query = parse_url("?" . $queryString, PHP_URL_QUERY);

// Parse query string into an associative array
parse_str($query, $params);

// Normalize keys and values
$params = array_map(function($key, $value) {
    return [strtolower($key), urldecode($value)];
}, array_keys($params), $params);

// Output normalized array
print_r($params);