3v4l.org

run code in 300+ PHP versions simultaneously
<?php $str = 'https://www.somehost.com/test/index.html?param1=4&param2=3&param3=2&param4=1&param5=3'; function parse($str) { // parse string to uri array $uri = parse_url($str); // parse query params to array parse_str($uri['query'], $params); // task1. filter params by 3 $params = array_filter($params, function($p) { return (int)$p !== 3; }); // task2. sort params asort($params); // task3. get url $params['url'] = $uri['path']; return $uri['scheme'] . '://' . $uri['host'] . '/?' . http_build_query($params); } parse($str);
Output for 5.6.0 - 5.6.26, 7.0.0 - 7.0.20, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.19, 8.3.0 - 8.3.7

preferences:
190.45 ms | 403 KiB | 232 Q