Możesz użyć array_change_key_case()
, aby utworzyć kopię $_GET
z wszystkimi dużymi lub małymi literami.
$_GET_lower = array_change_key_case($_GET, CASE_LOWER);
$orderby = isset($_GET_lower['orderby']) ? $_GET_lower['orderby'] : 'asc';
echo $orderby;
(mówię „utworzyć kopię”, bo po prostu nie podoba zanieczyszczających oryginalne superglobals, ale to twój wybór, aby zastąpić je jeśli chcesz.)
Zresztą to, że nadal będzie lepiej, jeśli po prostu przylegasz do dopasowywania wielkości liter, ponieważ może być łatwiej zarówno w wyszukiwarce, jak iw ludzkich oczach, a także łatwiej w kodzie ... EDYTOWANIE: OK, na podstawie Twojego komentarza mogę zobaczyć, dlaczego chciałby zrobić coś takiego.
Nie jestem pewien, czy to dobre rozwiązanie, ale wpadłem na taki problem, w którym hashowane hasło ma mniejsze litery i nie może go użyć; więc bądź ostrożny, a proponuję sprawdzić, dlaczego tak się dzieje; zazwyczaj podczas konwersji z HTTP na HTTPS (lub z powrotem), adres URL ma małe litery. – BeemerGuy
Jaki jest powód zmiany sprawy? – zerkms
dobrze działam na API, gdzie wcześniej system obsługiwał innych klientów API, którzy używają wielkich liter, a ostatnio zrobiliśmy API kilka zmian, w tym decyzję o uwzględnieniu parametrów o małych rozmiarach. więc, aby zachować kompatybilność wsteczną z poprzednimi użytkownikami API, mam do czynienia z tego rodzaju problemem. – VeeBee