Проверьте, определен ли только один параметр GET?

У меня есть некоторый код, по существу содержащий заголовок для конкретной страницы, который должен загружаться, только если в моем URL определен только один параметр GET.

Например, если я хочу, чтобы заголовок отображался только, если в URL задан параметр «thisonly», если URL был:

http://www.example.com?thisonly=w&thisone = д&thistwo = д&thisthree = д

Ранее я использовал этот код для проверки:

    if((isset($_GET[thisonly])) && (!isset($_GET[thisone])) && (!isset($_GET[thistwo])) && (!isset($_GET[thisthree]))) {
// Run this code
}

В приведенном выше случае код не будет выполняться, поскольку эти другие параметры установлены.

Тем не менее, это будет хлопотно для обновления, особенно если я в конечном итоге добавлю больше параметров, и мне придется вернуться и добавить к этому коду, чтобы убедиться, что они также не установлены.

Есть ли способ сократить его до эквивалента

    if((isset($_GET[thisonly])) && (!isset($_GET[nothingelse]))) {
// Run this code
}

Например, если «thisonly» является единственным набором параметров, а другие параметры не заданы, тогда запустить код?

Любая помощь приветствуется — спасибо!

0

Решение

if(count($_GET) === 1 && isset($_GET['thisonly'])) {

Это проверяет, если $_GET это массив только с одним элементом, и это $_GET['thisonly'],

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]