PHP 从 $_GET 获取名称和值

PHP Fetch Name and Value FROM $_GET

我正在尝试将一个简单的 if/elseif 条件转换为 case 条件,并且一次仅通过 img src link 传递一个 $_GET 值,foreach 循环也是如此necessary and/or case 条件真的需要在循环内吗?否则如何从 $_GET 中检索键名和值?

if (isset($_GET)) :
    foreach ($_GET as $GETkey=>$GETvalue):
        switch ($GETkey):
            case "AuthorID":
                $Year = date("Y");
                $AuthorName = DBLookup("SELECT `AuthorName` FROM authorbiographies WHERE `ID`=$GETvalue",$siteDB);
                $String = "Copyright © $Year\n$AuthorName";
                $FontSize = 10;
                $Angle = 0;
            break;
            case "CategoryID":
                $String = DBLookup("SELECT `CategoryName` FROM categories WHERE `ID`=$GETvalue",$siteDB);
                $FontSize = 15;
                $Angle = 0;
            break;
            case "Splash":
                $String = urldecode($GETvalue);
                $FontSize = 38;
                $Angle = 0;
            break;
        endswitch;
    endforeach;
endif;

正在调用它:

 <img src="/internals/viewers/show_logo.php?AuthorID=1">

 <img src="/internals/viewers/show_logo.php?CategoryID=1">

例如。

您可以使用key()current() 函数来获取数组的当前键和值。

对于具有单个元素的数组,这将 return 第一个也是唯一的键和值。不需要循环。

$GETkey = key($_GET);
$GETvalue = current($_GET);
switch ($GETkey) {
    ...
}