У меня есть некоторый код, по существу содержащий заголовок для конкретной страницы, который должен загружаться, только если в моем 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» является единственным набором параметров, а другие параметры не заданы, тогда запустить код?
Любая помощь приветствуется — спасибо!
if(count($_GET) === 1 && isset($_GET['thisonly'])) {
Это проверяет, если $_GET
это массив только с одним элементом, и это $_GET['thisonly']
,
Других решений пока нет …