проверка параметров в URL

Собственно вопрос: Как в URL проверить, существуют ли указанные параметры. Их может быть 2..3..4 Например, если идет URL

https://site.com?id=value - то с этим вопросов нет. Понятно, как проверить.

Но как проверять параметры, если URL вида

https://site.com?id=value&param2=value&param3=value ?

В голову приходит только разбить его через explode и по циклу сверять..может есть способы лучше, подскажите

P.S. Сам URL Rewrit'ится и становится вида https://site.com/id/12/param2/value...


Ответы (3 шт):

Автор решения: Yaroslav Molchan

Можно взять query с помощью функции parse_url и потом пройти по значению функцией parse_str и на выходе получить ассоциативный массив, и там уже проверять как вам удобно, смотря что вы имеете в виду под проверкой.

$url = parse_url('https://site.com?id=value&param2=value&param3=value');
parse_str($url['query'], $result);

var_dump($result);

Вывод:

array(3) {
  ["id"]=>
  string(5) "value"
  ["param2"]=>
  string(5) "value"
  ["param3"]=>
  string(5) "value"
}
→ Ссылка
Автор решения: Алекс Данилин
$url = 'https://site.com?id=value&param2=value&param3=value';

 parse_str(parse_url($url, PHP_URL_QUERY), $query);

 foreach ($query as $val=>$k) {

     if($val == 'param2') {
         echo '<pre>true</pre>';
     } else {
         echo '<pre>false</pre>';
     }
 }
→ Ссылка
Автор решения: Velman
if(isset($_GET['params']) != 'qwe'){
return false;
}
→ Ссылка