检查是否仅定义了一个GET参数


Check if only one GET Parameter is Defined?

我有一些代码,本质上包含一个特定于页面的头,只有在我的URL中只定义了一个GET参数时才应该加载。

例如,如果我只想让标题显示URL中是否设置了"thisonly"参数,如果URL是:

http://www.example.com?thisonly=w&thisone=q&thistwo=q&thirsee=q

以前我一直使用这个代码来检查:

    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']