проверка параметров в URL
Собственно вопрос: Как в URL проверить, существуют ли указанные параметры. Их может быть 2..3..4 Например, если идет URL
https://site.com?id=value - то с этим вопросов нет. Понятно, как проверить.
Но как проверять параметры, если URL вида
https://site.com?id=value¶m2=value¶m3=value ?
В голову приходит только разбить его через explode и по циклу сверять..может есть способы лучше, подскажите
P.S.
Сам URL Rewrit'ится и становится вида https://site.com/id/12/param2/value...
Ответы (3 шт):
Можно взять query с помощью функции parse_url и потом пройти по значению функцией parse_str и на выходе получить ассоциативный массив, и там уже проверять как вам удобно, смотря что вы имеете в виду под проверкой.
$url = parse_url('https://site.com?id=value¶m2=value¶m3=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¶m2=value¶m3=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>';
}
}