PHP Имя и значение извлечения из $ _GET - PullRequest
0 голосов
/ 10 февраля 2020

Я пытаюсь преобразовать простое условное условие if / elseif в условное регистр, и только одно значение $ _GET передается одновременно через ссылку img sr c, поэтому необходим foreach l oop и / или условный случай должен быть внутри l oop? Иначе, как извлечь имя и значение ключа из $ _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">

для пример.

1 Ответ

1 голос
/ 11 февраля 2020

Вы можете использовать функции key() и current(), чтобы получить текущий ключ и значение массива.

Для массива с одним элементом это вернет первый и единственный ключ и значение. Там нет необходимости в oop.

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