Объединение get параметров - IlyaKovanov/lib GitHub Wiki
<?
function mergeGetParameters($newUrl) {
// Получаем текущие GET параметры
$currentParams = $_GET;
// Парсим новые параметры из переданного URL
$urlParts = parse_url($newUrl);
parse_str($urlParts['query'] ?? '', $newParams);
// Объединяем текущие и новые параметры
$mergedParams = array_merge($newParams, $currentParams);
// Формируем новый URL с объединенными параметрами
$newQueryString = http_build_query($mergedParams);
$newUrlWithParams = $urlParts['scheme'] . '://' . $urlParts['host'] . $urlParts['path'];
// Добавляем параметры, если они есть
if (!empty($newQueryString)) {
$newUrlWithParams .= '?' . $newQueryString;
}
return $newUrlWithParams;
}
// Пример использования
$currentUrl = 'https://example.com/test/?ID=5&SECTION=11';
$newUrl = 'https://newsite.com/?PARAM=22&TEMP=15';
$resultUrl = mergeGetParameters($newUrl);
echo $resultUrl; // Вывод: https://newsite.com/?PARAM=22&TEMP=15&ID=5&SECTION=11