如何接受大小写不敏感的GET
或POST
值?PHP:不区分大小写参数
像sample.php?OrderBy=asc
仍然是相同的sample.php?orderby=asc
或sample.php?ORDERBY=asc
有效率地实现上述的手段?
如何接受大小写不敏感的GET
或POST
值?PHP:不区分大小写参数
像sample.php?OrderBy=asc
仍然是相同的sample.php?orderby=asc
或sample.php?ORDERBY=asc
有效率地实现上述的手段?
您可以使用array_change_key_case()
创建$_GET
的副本,其中包含全部大写或全部小写字母的键。
$_GET_lower = array_change_key_case($_GET, CASE_LOWER);
$orderby = isset($_GET_lower['orderby']) ? $_GET_lower['orderby'] : 'asc';
echo $orderby;
(我说“创建副本”,只是因为我不喜欢污染原超全局变量,但它是你的选择,如果你想覆盖它们。)
对于这个问题,它会仍然会更好,如果你只是坚持区分大小写匹配,因为它可能会更容易在搜索引擎和人眼,以及更容易在您的代码... 编辑:好吧,根据您的意见,我可以看到为什么你我想做这样的事情。
改变个案的理由是什么? – zerkms 2010-11-18 03:32:04
当使用VBA的Shell命令启动默认Web浏览器时,如果浏览器是Windows 10 Edge浏览器,我会将URL神奇地更改为全部小写。但不是在所有的Windows 10电脑上,只有一些。 – user3142056 2018-01-23 20:25:16
不确定是否有很好的解决方案,但是我遇到了这样一个问题,即散列密码变得较低并且无法使用;所以要小心,我建议你首先看看为什么会发生这种情况;通常在从HTTP转换为HTTPS(或返回)时,URL会变得较低。 – BeemerGuy 2010-11-18 03:32:02
改变大小写的原因是什么? – zerkms 2010-11-18 03:32:43
well im正在开发一个API,其中系统先前为使用大写字母的其他API客户端提供服务,最近我们对API进行了一些更改,包括确定采用较小的参数。所以为了保持与以前的API用户的向后兼容性,我面临着这样的问题。 – VeeBee 2010-11-18 03:40:38