È possibile utilizzare array_change_key_case()
per creare una copia di $_GET
con chiavi tutte maiuscole o tutte in minuscolo.
$_GET_lower = array_change_key_case($_GET, CASE_LOWER);
$orderby = isset($_GET_lower['orderby']) ? $_GET_lower['orderby'] : 'asc';
echo $orderby;
(dico "creare una copia", semplicemente perché non mi piace inquinare le superglobals originali, ma è la vostra scelta per sovrascrivere se lo si desidera.)
Del resto, sarebbe stai ancora meglio se ti limiti semplicemente alla distinzione tra maiuscole e minuscole poiché potrebbe essere più semplice sia sul motore di ricerca che sugli occhi umani, oltre che sul codice ... MODIFICA: OK, in base al tuo commento Posso capire perché Voglio fare qualcosa di simile.
Non sono sicuro di una buona soluzione, ma mi sono imbattuto in un problema come quello in cui la password con hash è diventata inferiore e non è stata in grado di usarla; quindi fai attenzione, e ti suggerisco di cercare di capire perché questo accade in primo luogo; di solito quando si converte da HTTP a HTTPS (o viceversa), l'URL viene convertito in maiuscolo. – BeemerGuy
Qual è la ragione per cambiare caso? – zerkms
beh sto lavorando su un'API in cui il sistema serve in precedenza altri client API che utilizzano le lettere maiuscole e di recente abbiamo apportato alcune modifiche all'API, inclusa la decisione di rispettare i parametri con custodia inferiore. quindi, al fine di mantenere la retrocompatibilità con i precedenti utenti dell'API, mi trovo di fronte a questo tipo di problema. – VeeBee