PHP: casse paramètres
Comment puis-je accepter passé GET
ou POST
valeurs cas insensiblement?
Comme sample.php?OrderBy=asc
sera toujours le même que sample.php?orderby=asc
ou sample.php?ORDERBY=asc
Est-il un moyen de parvenir à la ci-dessus de manière efficace?
- Vous ne savez pas une bonne solution, mais j'ai couru dans un problème comme celui-là que le hachage de mot de passe a obtenu écrit en minuscule et a été incapable de l'utiliser; soyez donc prudent, et je suggère de regarder pour voir ce qui se passe, en premier lieu, habituellement lors de la conversion de HTTP vers HTTPS (ou l'arrière), l'URL est écrit en minuscule.
- Quelle est la raison de modifier la casse?
- eh bien, je travaille sur une API où le système précédemment sert d'autres clients API que l'utilisation des majuscules et récemment, nous avons fait de l'API de certains changements, y compris la décision d'honneur écrit en minuscule paramètres. afin de maintenir la compatibilité ascendante avec le précédent, les utilisateurs de l'API, je suis confronté à ce genre de problème.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser
array_change_key_case()
pour créer une copie de$_GET
avec des majuscules ou en minuscules touches.(Je dis "créer une copie" tout simplement parce que je n'aime pas polluer l'origine superglobales, mais c'est votre choix de les remplacer si vous le souhaitez).
Pour cette question, il serais encore mieux si vous venez de coller à la casse de correspondance, car il pourrait être plus facile sur les deux moteurs de recherche et les yeux de l'homme, ainsi que plus facile sur votre code... EDIT: OK, en fonction de votre commentaire, je peux voir pourquoi vous voulez faire quelque chose comme cela.
ID
,Id
etid
sont les mêmes... Merci @BoltClock