如何不区分地接受传递的GET
或POST
值?
与sample.php?OrderBy=asc
相同仍然与sample.php?orderby=asc
或sample.php?ORDERBY=asc
相同
有没有办法有效地实现上述目标?
答案 0 :(得分:47)
您可以使用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;
(我之所以说“创建副本”只是因为我不喜欢污染原始的超级全球,但如果你愿意,可以选择覆盖它们。)
就此而言,如果你坚持使用区分大小写的匹配仍然会更好,因为它在搜索引擎和人眼都可能更容易,而且代码也更容易...... 编辑: 好的,根据您的评论,我可以看到您为什么要这样做。