PHP: Case-insensitive-Parameter
Wie kann ich akzeptieren bestanden GET
oder POST
Werte Fall unempfindlich?
Wie sample.php?OrderBy=asc
wird noch die gleiche sein, wie sample.php?orderby=asc
oder sample.php?ORDERBY=asc
Gibt es ein Mittel das erreichen der oben effizient?
- Nicht sicher eine gute Lösung, aber ich lief in ein problem, wo das gehashte Passwort bekommen hat kleingeschrieben und war nicht in der Lage, es zu benutzen; so vorsichtig sein, und ich würde vorschlagen, auf der Suche, um zu sehen, warum dies passiert in den ersten Platz; in der Regel bei der Umstellung von HTTP auf HTTPS (oder zurück), die URL wird kleingeschrieben.
- Was ist der Grund für die änderung Fall?
- auch im arbeiten auf ein API, wo das system bisher dient anderen API-clients, verwenden Sie groß-und wir sind vor kurzem gemacht-API einige änderungen, einschließlich der Entscheidung, Sie zu Ehren, kleingeschriebenen Parameter. so, um die Abwärtskompatibilität mit früheren API-Benutzer, ich bin konfrontiert mit dieser Art von problem.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Könnten Sie
array_change_key_case()
erstellen Sie eine Kopie der$_GET
mit entweder Großbuchstaben oder Kleinbuchstaben Schlüssel.(Ich sage "erstellen einer Kopie", nur weil ich nicht wie die Verschmutzung des ursprünglichen superglobals, aber es ist Ihre Wahl zu überschreiben, wenn Sie möchten.)
Für diese Angelegenheit, es wäre immer noch besser, wenn Sie nur kleben Sie auf groß-und Kleinschreibung matching-da könnte es einfacher sein, die auf beiden Suchmaschine und dem menschlichen Auge, als auch einfacher auf Ihren code... EDIT: OK, basierend auf Ihren Kommentar, den ich kann sehen, warum Sie wollen würde, so etwas zu tun.
ID
,Id
undid
sind die gleichen... Danke @BoltClock