How can PHP developers prevent duplicate query parameters, such as multiple instances of "LID" in a URL?

To prevent duplicate query parameters in a URL, PHP developers can check if a parameter already exists before adding it to the URL. This can be done by parsing the URL, checking for existing parameters, and only adding the new parameter if it doesn't already exist.

// Function to add or update query parameters in a URL
function addOrUpdateQueryParam($url, $key, $value) {
    $parsedUrl = parse_url($url);
    $queryParams = [];
    
    if(isset($parsedUrl['query'])) {
        parse_str($parsedUrl['query'], $queryParams);
    }
    
    if(!array_key_exists($key, $queryParams)) {
        $queryParams[$key] = $value;
    }
    
    $parsedUrl['query'] = http_build_query($queryParams);
    
    return http_build_url($parsedUrl);
}

// Example usage
$url = "http://example.com/test.php?LID=123";
$newUrl = addOrUpdateQueryParam($url, "LID", "456");
echo $newUrl;