如何从我的URL中获取最后一个变量名并在switch语句中使用它?

Mik*_*ike 1 php url query-string

我正在尝试在我的网址中显示最后一个变量名称并使用它来确定我页面上显示的内容.例如,这是我的网址:

http://mysite.php/catalog/?department=123&category=456&sub_category=789

如果URL显示a,sub_category那么我想显示所有被视为子类别的内容.但是,如果网址只显示:

http://mysite.php/catalog/?department=123&category=456

然后我想显示仅与类别相关的内容.

一旦我得到最后一个varibale名称,我将使用switch语句来显示内容.我一直在使用这个代码,但它只获得第一个变量名而不是最后一个?

switch(key($_GET))
{
    case 'department':
        print('show department');
        break;
    case 'category':
        print('show category');
        break;
    case 'sub_category':
        print('show sub_category');
        break;
}
Run Code Online (Sandbox Code Playgroud)

也许这不是最好的方法,如果你有一个比使用switch语句更好的方法让我知道;)

Sal*_*n A 5

不要依赖查询字符串参数的顺序.更好的方法是检查特定顺序中是否存在参数:

if (isset($_GET["sub_category"]))
{
    print('show sub_category');
}
elseif (isset($_GET["category"]))
{
    print('show category');
}
elseif (isset($_GET["department"]))
{
    print('show department');
}
else
{
    print('show error');
}
Run Code Online (Sandbox Code Playgroud)